[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] make SMP boot again with gcc 4


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Rik van Riel <riel@xxxxxxxxxx>
  • Date: Mon, 28 Mar 2005 15:39:51 -0500 (EST)
  • Delivery-date: Mon, 28 Mar 2005 20:40:01 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

For unknown reasons, this bug doesn't show up when Xen is compiled
with gcc-3.4, so I was off on a wild goose chase for a few days.
With this barrier added, the system boots fine again.

Note that we should probably move barrier into cpu_relax, but that's
a story for another patch.

Signed-off-by: Rik van Riel <riel@xxxxxxxxxx>

--- xen-unstable/xen/arch/x86/smpboot.c.barrier 2005-03-28 15:17:11.000000000 
-0500
+++ xen-unstable/xen/arch/x86/smpboot.c 2005-03-28 15:32:30.000000000 -0500
@@ -413,8 +413,10 @@ void __init start_secondary(void)
 
     smp_callin();
 
-    while (!atomic_read(&smp_commenced))
-        rep_nop();
+    while (!atomic_read(&smp_commenced)) {
+        cpu_relax();
+        barrier();
+    }
 
 #ifdef __i386__
     /*

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.