ChangeSet 1.2231.1.81, 2005/03/28 19:39:05-08:00, [EMAIL PROTECTED]
[PATCH] x86_64: Fix SMP fallback to UP
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 <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
smpboot.c | 3 +++
1 files changed, 3 insertions(+)
diff -Nru a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c
--- a/arch/x86_64/kernel/smpboot.c 2005-03-28 21:24:17 -08:00
+++ b/arch/x86_64/kernel/smpboot.c 2005-03-28 21:24:17 -08:00
@@ -716,6 +716,7 @@
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 @@
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 @@
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;
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html