|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] Re: [PATCH] Fix memory order issue inside pv spinlock
 
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?
    J
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
 | 
    | 
  
  
    |   | 
    |