[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/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? Thanks, J > > Signed-off-by: Yang Xiaowei <xiaowei.yang@xxxxxxxxx> > > diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c > index 5601506..9dee5f8 100644 > --- a/arch/x86/xen/spinlock.c > +++ b/arch/x86/xen/spinlock.c > @@ -324,7 +325,7 @@ static void xen_spin_unlock(struct raw_spinlock > *lock) > xl->lock = 0; /* release lock */ > > /* make sure unlock happens before kick */ > - barrier(); > + mb(); > > if (unlikely(xl->spinners)) > xen_spin_unlock_slow(xl); > > Thanks, > Xiaowei > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |