Messages in this thread Patch in this message | | | Date | Fri, 30 Jul 2004 10:54:13 +0530 | From | Srivatsa Vaddagiri <> | Subject | [PATCH] ppc64: Fix cpu_up race |
| |
On Thu, Jul 29, 2004 at 03:30:11PM +1000, Anton Blanchard wrote: > > > I think Anton pushed this to ameslab. I presume there should be some mechanism > > for ameslab stuff to be included mainline. If there is such mechanism, then > > I dont want to push the patch myself. > > It looks good, could you send it directly to akpm, ccing me?
Andrew, Patch below fixes a cpu_up race in PPC64. Please apply.
Signed-off-by : Srivatsa Vaddagiri <vatsa@in.ibm.com> Signed-off-by : Anton Blanchard <anton@samba.org>
---
linux-2.6.8-rc2-vatsa/arch/ppc64/kernel/smp.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletion(-)
diff -puN arch/ppc64/kernel/smp.c~ppc64_cpu_up_fix arch/ppc64/kernel/smp.c --- linux-2.6.8-rc2/arch/ppc64/kernel/smp.c~ppc64_cpu_up_fix 2004-07-30 10:33:55.000000000 +0530 +++ linux-2.6.8-rc2-vatsa/arch/ppc64/kernel/smp.c 2004-07-30 10:34:02.000000000 +0530 @@ -927,7 +927,11 @@ int __devinit __cpu_up(unsigned int cpu) if (smp_ops->give_timebase) smp_ops->give_timebase(); - cpu_set(cpu, cpu_online_map); + + /* Wait until cpu puts itself in the online map */ + while (!cpu_online(cpu)) + cpu_relax(); + return 0; } @@ -963,6 +967,10 @@ int __devinit start_secondary(void *unus #endif #endif + spin_lock(&call_lock); + cpu_set(cpu, cpu_online_map); + spin_unlock(&call_lock); + local_irq_enable(); return cpu_idle(NULL); _
--
Thanks and Regards, Srivatsa Vaddagiri, Linux Technology Center, IBM Software Labs, Bangalore, INDIA - 560017 - 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/
| |