All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <david.daney@cavium.com>
To: Yong Zhang <yong.zhang0@gmail.com>, ralf@linux-mips.org
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/8] patchset focus on MIPS SMP woes
Date: Thu, 17 May 2012 09:13:53 -0700	[thread overview]
Message-ID: <4FB523C1.4070902@cavium.com> (raw)
In-Reply-To: <1337249410-7162-1-git-send-email-yong.zhang0@gmail.com>

On 05/17/2012 03:10 AM, Yong Zhang wrote:
> From: Yong Zhang<yong.zhang@windriver.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@gmail.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@cavium.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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

  parent reply	other threads:[~2012-05-17 16:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-17 10:10 [PATCH 0/8] patchset focus on MIPS SMP woes Yong Zhang
2012-05-17 10:10 ` [PATCH 1/8] MIPS: Octeon: delay enable irq to ->smp_finish() Yong Zhang
2012-05-17 10:10 ` [PATCH 2/8] MIPS: BMIPS: delay irq enable " Yong Zhang
2012-05-17 10:10 ` [PATCH 3/8] MIPS: SMTC: " Yong Zhang
2012-05-17 10:10 ` [PATCH 4/8] MIPS: Yosemite: " Yong Zhang
2012-05-17 10:10 ` [PATCH 5/8] MIPS: call ->smp_finish() a little late 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
2012-05-17 10:10 ` [PATCH 7/8] MIPS: smp: Warn on too early irq enable Yong Zhang
2012-05-17 10:55   ` Sergei Shtylyov
2012-05-17 10:10 ` [PATCH 8/8] MIPS: sync-r4k: remove redundant irq operation Yong Zhang
2012-05-17 16:13 ` David Daney [this message]
2012-05-17 17:56   ` [PATCH 0/8] patchset focus on MIPS SMP woes 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=4FB523C1.4070902@cavium.com \
    --to=david.daney@cavium.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --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.