On Tue, Jun 19, 2012 at 06:51:07PM +0800, Huacai Chen wrote:
> On Tue, Jun 19, 2012 at 5:31 PM, Yong Zhang <yong.zhang@windriver.com> wrote:
> > On Tue, Jun 19, 2012 at 02:50:23PM +0800, Huacai Chen wrote:
> >> diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
> >> index e9a5fd7..69b17a9 100644
> >> --- a/arch/mips/kernel/process.c
> >> +++ b/arch/mips/kernel/process.c
> >> @@ -72,9 +72,7 @@ void __noreturn cpu_idle(void)
> >> ? ? ? ? ? ? ? ? ? ? ? }
> >> ? ? ? ? ? ? ? }
> >> ?#ifdef CONFIG_HOTPLUG_CPU
> >> - ? ? ? ? ? ? if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map) &&
> >> - ? ? ? ? ? ? ? ? (system_state == SYSTEM_RUNNING ||
> >> - ? ? ? ? ? ? ? ? ?system_state == SYSTEM_BOOTING))
> >> + ? ? ? ? ? ? if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map))
> >> ? ? ? ? ? ? ? ? ? ? ? play_dead();
> >
> > I think patch like this should be separated from BSP code.
> >
> > BTW, what's the story behind this change?
> When poweroff, disable_nonboot_cpus() is called, and if HOTPLUG_CPU is
> configured, disable_nonboot_cpus() is not an empty function but try to
> offline nonboot cores. If without this change, poweroff fails.
Yeah. It's an issue. I think Cavium is also affected (Cc'ing David).
So mind making this a single patch? We should also send it to -stable IMHO.
Thanks,
Yong
|