Messages in this thread Patch in this message |  | | | Date | Fri, 12 Jul 2002 15:39:42 -0700 | | From | William Lee Irwin III <> | | Subject | NUMA-Q breakage 2/7 xquad_portio ioremap deadlock |
| |
The cpu_online_map stuff for hotplug cpu created a brand new bootstrap ordering problem for NUMA-Q. The mmapped portio region needs to be ioremapped early but ioremap attempts to do TLB shootdown, and smp_call_function() (called by flush_tlb_all()) deadlocks when cpu_online_map is uninitialized.
Workaround (due to Matt Dobson) below.
diff -Nur linux-2.5.23-vanilla/arch/i386/kernel/smp.c linux-2.5.23-patched/arch/i386/kernel/smp.c --- linux-2.5.23-vanilla/arch/i386/kernel/smp.c Tue Jun 18 19:11:47 2002 +++ linux-2.5.23-patched/arch/i386/kernel/smp.c Mon Jul 8 14:52:32 2002 @@ -569,7 +569,7 @@ struct call_data_struct data; int cpus = num_online_cpus()-1; - if (!cpus) + if (cpus <= 0) return 0; data.func = func; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |