From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Yong Zhang <yong.zhang0@gmail.com>
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
ralf@linux-mips.org, sshtylyov@mvista.com,
david.daney@cavium.com, sshtylyov@mvista.com,
"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Subject: Re: [PATCH 6/8] MIPS: call set_cpu_online() on the uping cpu with irq disabled
Date: Mon, 21 May 2012 16:09:16 +0530 [thread overview]
Message-ID: <4FBA1B54.3@linux.vnet.ibm.com> (raw)
In-Reply-To: <1337580008-7280-7-git-send-email-yong.zhang0@gmail.com>
On 05/21/2012 11:30 AM, Yong Zhang wrote:
> From: Yong Zhang <yong.zhang@windriver.com>
>
> 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 <yong.zhang0@gmail.com>
> Acked-by: David Daney <david.daney@cavium.com>
> ---
> arch/mips/kernel/smp.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
> index 73a268a..042145f 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);
> +
You will also need to use ipi_call_lock/unlock() around this.
See how x86 does it. (MIPS also selects USE_GENERIC_SMP_HELPERS).
Regards,
Srivatsa S. Bhat
> set_cpu_sibling_map(cpu);
>
> cpu_set(cpu, cpu_callin_map);
> @@ -249,8 +251,6 @@ int __cpuinit __cpu_up(unsigned int cpu)
> while (!cpu_isset(cpu, cpu_callin_map))
> udelay(100);
>
> - set_cpu_online(cpu, true);
> -
> return 0;
> }
>
WARNING: multiple messages have this Message-ID (diff)
From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Yong Zhang <yong.zhang0@gmail.com>
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
ralf@linux-mips.org, sshtylyov@mvista.com,
david.daney@cavium.comsshtylyov@mvista.com,
"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Subject: Re: [PATCH 6/8] MIPS: call set_cpu_online() on the uping cpu with irq disabled
Date: Mon, 21 May 2012 16:09:16 +0530 [thread overview]
Message-ID: <4FBA1B54.3@linux.vnet.ibm.com> (raw)
Message-ID: <20120521103916.7S49wHYSoeN80b0UNYS2QM_mcTfRP9Xvmzg6i9oYU8U@z> (raw)
In-Reply-To: <1337580008-7280-7-git-send-email-yong.zhang0@gmail.com>
On 05/21/2012 11:30 AM, Yong Zhang wrote:
> From: Yong Zhang <yong.zhang@windriver.com>
>
> 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 <yong.zhang0@gmail.com>
> Acked-by: David Daney <david.daney@cavium.com>
> ---
> arch/mips/kernel/smp.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
> index 73a268a..042145f 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);
> +
You will also need to use ipi_call_lock/unlock() around this.
See how x86 does it. (MIPS also selects USE_GENERIC_SMP_HELPERS).
Regards,
Srivatsa S. Bhat
> set_cpu_sibling_map(cpu);
>
> cpu_set(cpu, cpu_callin_map);
> @@ -249,8 +251,6 @@ int __cpuinit __cpu_up(unsigned int cpu)
> while (!cpu_isset(cpu, cpu_callin_map))
> udelay(100);
>
> - set_cpu_online(cpu, true);
> -
> return 0;
> }
>
next prev parent reply other threads:[~2012-05-21 10:49 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-21 6:00 [V1 PATCH 0/8] patchset focus on MIPS SMP woes Yong Zhang
2012-05-21 6:00 ` [PATCH 1/8] MIPS: Octeon: delay enable irq to ->smp_finish() Yong Zhang
2012-05-21 6:00 ` [PATCH 2/8] MIPS: BMIPS: delay irq enable " Yong Zhang
2012-05-21 6:00 ` [PATCH 3/8] MIPS: SMTC: " Yong Zhang
2012-05-21 6:00 ` [PATCH 4/8] MIPS: Yosemite: " Yong Zhang
2012-05-21 6:00 ` [PATCH 5/8] MIPS: call ->smp_finish() a little late Yong Zhang
2012-05-21 6:00 ` [PATCH 6/8] MIPS: call set_cpu_online() on the uping cpu with irq disabled Yong Zhang
2012-05-21 10:30 ` Sergei Shtylyov
2012-05-22 5:33 ` Yong Zhang
2012-05-21 10:39 ` Srivatsa S. Bhat [this message]
2012-05-21 10:39 ` Srivatsa S. Bhat
2012-05-22 6:21 ` Yong Zhang
2012-05-28 12:04 ` Srivatsa S. Bhat
2012-05-29 6:52 ` Yong Zhang
2012-05-21 6:00 ` [PATCH 7/8] MIPS: smp: Warn on too early irq enable Yong Zhang
2012-05-21 6:00 ` [PATCH 8/8] MIPS: sync-r4k: remove redundant irq operation Yong Zhang
-- strict thread matches above, loose matches on Subject: below --
2012-05-17 10:10 [PATCH 0/8] patchset focus on MIPS SMP woes Yong Zhang
2012-05-17 10:10 ` [PATCH 6/8] MIPS: call set_cpu_online() on the uping cpu with irq disabled Yong Zhang
2012-05-17 10:59 ` Sergei Shtylyov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FBA1B54.3@linux.vnet.ibm.com \
--to=srivatsa.bhat@linux.vnet.ibm.com \
--cc=david.daney@cavium.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=sshtylyov@mvista.com \
--cc=yong.zhang0@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.