From: Yong Zhang Date: Thu, 19 Jul 2012 07:13:53 +0000 (+0200) Subject: MIPS: call set_cpu_online() on cpu being brought up with irq disabled X-Git-Tag: Ubuntu-5.2.0-15.16~17617^2~4 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=b9a09a0660aa9174e489ac531244680971950ef8;p=mirror_ubuntu-eoan-kernel.git MIPS: call set_cpu_online() on cpu being brought up with irq disabled To prevent a problem as commit 5fbd036b [sched: Cleanup cpu_active madness] and commit 2baab4e9 [sched: Fix select_fallback_rq() vs cpu_active/cpu_online] try to resolve, move set_cpu_online() to the brought up CPU and with irq disabled. Signed-off-by: Yong Zhang Cc: Sergei Shtylyov Cc: David Daney Acked-by: David Daney Patchwork: https://patchwork.linux-mips.org/patch/3851/ Signed-off-by: Ralf Baechle --- diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index b181bbf410de..eb3e2b112a0d 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c @@ -122,6 +122,8 @@ asmlinkage __cpuinit void start_secondary(void) notify_cpu_starting(cpu); + set_cpu_online(cpu, true); + set_cpu_sibling_map(cpu); cpu_set(cpu, cpu_callin_map); @@ -197,8 +199,6 @@ int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) while (!cpu_isset(cpu, cpu_callin_map)) udelay(100); - set_cpu_online(cpu, true); - return 0; }