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@redhat.com>
--- 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__
/*
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xen-devel
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@redhat.com>
--- 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@lists.xensource.com
http://lists.xensource.com/xen-devel
On 28 Mar 2005, at 21:39, Rik van Riel wrote:> Note that we should probably move barrier into cpu_relax, but that''s > a story for another patch.It''s a much better patch. I''ll do that instead. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel