[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Fix memory order issue inside pv spinlock
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. 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 |