|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] [PATCH][BUG 347] sparse: fix x86_64 domU SMP	cpu_present map
 
Changeset 7419 introduced a check for DOM0 before setting a bit in the
cpu_present map.  This prevents domU SMP kernels without HOTPLUG_CPU
support from booting.  Secondary cpus need to be present and online
before init/main.c:do_basic_setup() calls init_workqueues() (which
initializes per-cpu workqueues).
Without this patch, non HOTPLUG_CPU enabled kernels hang when flushing
cpu workqueues as the spinlock in the structure is never initialized (it
has a default value of zero which means the lock has been acquired on 
x86).
I've tested this patch on x86_64 SMP, x86_32 SMP, with and without
HOTPLUG_CPU set.  See bugzilla [1]#347 for more details.
Please apply.
1. http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=347
-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253
ryanh@xxxxxxxxxx
diffstat output:
 smpboot.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)
Signed-off-by: Ryan Harper <ryanh@xxxxxxxxxx>
---
diff -r ae2e13795c63 linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c    Tue Nov  1 18:13:06 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c    Tue Nov  1 14:15:08 2005
@@ -236,8 +236,7 @@
                make_page_readonly((void *)cpu_gdt_descr[cpu].address);
 
                cpu_set(cpu, cpu_possible_map);
-               if (xen_start_info->flags & SIF_INITDOMAIN)
-                       cpu_set(cpu, cpu_present_map);
+               cpu_set(cpu, cpu_present_map);
 
                vcpu_prepare(cpu);
        }
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-devel] [PATCH][BUG 347] sparse: fix x86_64 domU SMP	cpu_present map,
Ryan Harper <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |