[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] Fix memory order issue inside pv spinlock
On 09/09/09 18:41, Yang, Xiaowei wrote: > Jeremy Fitzhardinge wrote: > >> On 09/09/09 09:30, Yang, Xiaowei wrote: >>> Jeremy Fitzhardinge wrote: >>>> On 09/07/09 00:40, Yang, Xiaowei wrote: >>>>> barrier() can't prevent reads after it not being reordered with older >>>>> writes to different locates before it. Because of it, I can't >>>>> bring up >>>>>> 4 HVM guests on one SMP machine. Use mb() instead. >>>> Which read is happening too early? Is it "xl->spinners"? How does >>>> it fail? >>> Yes. If read of xl->spinners happens earlier than write 0 to xl->lock, >>> notifications to wake up other spinners can be omitted incorrectly, >>> resulting in others polling indefinitely (because of poll evtchn not >>> pending) with the lock is uncontended. >> >> OK. And the CPU only guarantees that, without explicit barriers, >> write-read ordering is only maintained between accesses to the same >> memory location, not separate locations? >> > > Exactly! For more details please refer to Chapter 8.2 of Intel SDM 3A. Thanks. I just submitted both fixes to upstream. J _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |