|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] [PATCH] Fix memory order issue inside pv spinlock,
Yang, Xiaowei <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |