From: "Andi Kleen" When falling back to UP on a SMP kernel make sure cpu_sibling_map is always initialized. Otherwise scheduler_tick eventually runs into incompletely initialized sched domains and oopses. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton --- 25-akpm/arch/x86_64/kernel/smpboot.c | 3 +++ 1 files changed, 3 insertions(+) diff -puN arch/x86_64/kernel/smpboot.c~x86_64-fix-smp-fallback-to-up arch/x86_64/kernel/smpboot.c --- 25/arch/x86_64/kernel/smpboot.c~x86_64-fix-smp-fallback-to-up Wed Mar 23 15:39:07 2005 +++ 25-akpm/arch/x86_64/kernel/smpboot.c Wed Mar 23 15:39:07 2005 @@ -716,6 +716,7 @@ static void __init smp_boot_cpus(unsigne printk(KERN_NOTICE "SMP motherboard not detected.\n"); io_apic_irqs = 0; cpu_online_map = cpumask_of_cpu(0); + cpu_set(0, cpu_sibling_map[0]); phys_cpu_present_map = physid_mask_of_physid(0); if (APIC_init_uniprocessor()) printk(KERN_NOTICE "Local APIC not detected." @@ -742,6 +743,7 @@ static void __init smp_boot_cpus(unsigne printk(KERN_ERR "... forcing use of dummy APIC emulation. (tell your hw vendor)\n"); io_apic_irqs = 0; cpu_online_map = cpumask_of_cpu(0); + cpu_set(0, cpu_sibling_map[0]); phys_cpu_present_map = physid_mask_of_physid(0); disable_apic = 1; goto smp_done; @@ -757,6 +759,7 @@ static void __init smp_boot_cpus(unsigne printk(KERN_INFO "SMP mode deactivated, forcing use of dummy APIC emulation.\n"); io_apic_irqs = 0; cpu_online_map = cpumask_of_cpu(0); + cpu_set(0, cpu_sibling_map[0]); phys_cpu_present_map = physid_mask_of_physid(0); disable_apic = 1; goto smp_done; _