[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FB523C1.4070902@cavium.com>
Date: Thu, 17 May 2012 09:13:53 -0700
From: David Daney <david.daney@...ium.com>
To: Yong Zhang <yong.zhang0@...il.com>, ralf@...ux-mips.org
CC: linux-mips@...ux-mips.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/8] patchset focus on MIPS SMP woes
On 05/17/2012 03:10 AM, Yong Zhang wrote:
> From: Yong Zhang<yong.zhang@...driver.com>
>
> Since commit 5fbd036b [sched: Cleanup cpu_active madness] and
> commit 2baab4e9 [sched: Fix select_fallback_rq() vs cpu_active/cpu_online],
> it's more safe to put notify_cpu_starting() and set_cpu_online() with
> irq disabled, otherwise we will have a typical race condition which
> above two commits try to resolve:
>
> CPU1 CPU2
> __cpu_up();
> mp_ops->boot_secondary();
> start_secondary();
> ->init_secondary();
> local_irq_enable();
> <IRQ>
> do something;
> wake up softirqd;
> try_to_wake_up();
> select_fallback_rq();
> /* select wrong cpu */
> set_cpu_online();
>
>
> This patchset fix the above issue as well as set_cpu_online is
> called on the caller cpu.
>
> BTW, I'm only running it on Cavium board because of limited source,
> so if anyone is interested to test it on other board, that's great :)
>
> Signed-off-by: Yong Zhang<yong.zhang0@...il.com>
>
> Yong Zhang (8):
> MIPS: Octeon: delay enable irq to ->smp_finish()
> MIPS: BMIPS: delay irq enable to ->smp_finish()
> MIPS: SMTC: delay irq enable to ->smp_finish()
> MIPS: Yosemite: delay irq enable to ->smp_finish()
> MIPS: call ->smp_finish() a little late
> MIPS: call set_cpu_online() on the uping cpu with irq disabled
> MIPS: smp: Warn on too early irq enable
> MIPS: sync-r4k: remove redundant irq operation
>
This entire patch set (modulo the change log grammar items noted by Sergei):
Acked-by: David Daney <david.daney@...ium.com>
> arch/mips/cavium-octeon/smp.c | 2 +-
> arch/mips/kernel/smp-bmips.c | 14 +++++++-------
> arch/mips/kernel/smp.c | 12 +++++++++---
> arch/mips/kernel/smtc.c | 3 ++-
> arch/mips/kernel/sync-r4k.c | 5 -----
> arch/mips/pmc-sierra/yosemite/smp.c | 2 +-
> 6 files changed, 20 insertions(+), 18 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists