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