From: Davidlohr Bueso <dave@stgolabs.net>
To: Ming Lei <ming.lei@canonical.com>
Cc: Jason Low <jason.low2@hp.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Ingo Molnar <mingo@kernel.org>,
Sasha Levin <sasha.levin@oracle.com>,
Peter Zijlstra <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
Dave Jones <davej@codemonkey.org.uk>
Subject: Re: softlockups in multi_cpu_stop
Date: Fri, 06 Mar 2015 19:41:36 -0800 [thread overview]
Message-ID: <1425699696.19505.99.camel@stgolabs.net> (raw)
In-Reply-To: <CACVXFVN1ZHf4gsKmom2DsbnnXuq5GzLQ9mXv3TA2Zxr5beSz3Q@mail.gmail.com>
On Sat, 2015-03-07 at 11:19 +0800, Ming Lei wrote:
> On Sat, Mar 7, 2015 at 11:10 AM, Davidlohr Bueso <dave@stgolabs.net> wrote:
> > On Sat, 2015-03-07 at 10:55 +0800, Ming Lei wrote:
> >> On Sat, Mar 7, 2015 at 10:29 AM, Davidlohr Bueso <dave@stgolabs.net> wrote:
> >> > On Fri, 2015-03-06 at 18:26 -0800, Davidlohr Bueso wrote:
> >> >> That's not what this is about. New lock _owners_ need to worry about
> >> > ^^^ make that "need not"
> >>
> >> Sorry, could you explain a bit why new owner can't be scheduled
> >> out(on_cpu becomes zero)? If that is possible, it still can cause
> >> soft lockup like current problem.
> >
> > Oh its not that it can't be scheduled out. The point is we don't care
> > what happens with the lock owner itself (new or not). We care about, and
> > the point of this discussion, how _other_ threads handle themselves when
> > trying to take that lock (a lock having an owner implies the lock is not
> > free, of course). So if a lock owner gets scheduled out... so what?
> > That's already taken into account by spinners.
>
> Not exactly, current problem is just in spinner because it
> ignores scheduled out owner and continues to spin, then
> cause lockup, isn't it?
Exactly my point, Ming. It's the _spinner_ that has the problem, hence
the fix in the part of the code that must decide just that. By the time
we're doing this:
if (READ_ONCE(sem->owner))
return true; /* new owner, continue spinning */
We need to have already taken into account the owner->on_cpu situation.
We fix spinners, not lock owners.
I'm really running out of ways to explain this, and you are going in
circles, which is getting annoying given that you haven't even tried the
other patch.
next prev parent reply other threads:[~2015-03-07 3:41 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-02 7:45 sched: softlockups in multi_cpu_stop Sasha Levin
[not found] ` <CAMiJ5CVWvUhGK=MWYB_CTNs901p=jsT4i5gkWTaHih7qdQdkFQ@mail.gmail.com>
2015-03-04 5:44 ` Rafael David Tinoco
2015-03-06 11:27 ` Sasha Levin
2015-03-06 12:32 ` Ingo Molnar
2015-03-06 14:34 ` Rafael David Tinoco
2015-03-06 14:45 ` Sasha Levin
2015-03-06 15:46 ` Sasha Levin
2015-03-06 17:19 ` Davidlohr Bueso
2015-03-06 18:02 ` Sasha Levin
2015-03-06 21:59 ` Sasha Levin
2015-03-06 18:57 ` Jason Low
2015-03-06 19:05 ` Linus Torvalds
2015-03-06 19:20 ` Davidlohr Bueso
2015-03-06 19:32 ` Linus Torvalds
2015-03-06 19:45 ` Davidlohr Bueso
2015-03-06 19:55 ` Davidlohr Bueso
2015-03-06 20:00 ` Davidlohr Bueso
2015-03-06 21:42 ` Linus Torvalds
2015-03-06 19:29 ` Jason Low
2015-03-06 21:12 ` Jason Low
2015-03-06 21:24 ` Linus Torvalds
2015-03-07 1:53 ` Jason Low
2015-03-06 22:15 ` Davidlohr Bueso
2015-03-07 1:55 ` Ming Lei
2015-03-07 2:07 ` Davidlohr Bueso
2015-03-07 2:10 ` Ming Lei
2015-03-07 2:26 ` Davidlohr Bueso
2015-03-07 2:29 ` Davidlohr Bueso
2015-03-07 2:55 ` Ming Lei
2015-03-07 3:10 ` Davidlohr Bueso
2015-03-07 3:19 ` Ming Lei
2015-03-07 3:41 ` Davidlohr Bueso [this message]
2015-03-07 2:56 ` Jason Low
2015-03-07 3:08 ` Ming Lei
2015-03-07 3:10 ` Davidlohr Bueso
2015-03-07 3:17 ` Jason Low
2015-03-07 3:39 ` Ming Lei
2015-03-07 3:53 ` Jason Low
2015-03-07 1:58 ` Jason Low
2015-03-07 4:31 ` Jason Low
2015-03-07 4:44 ` Davidlohr Bueso
2015-03-07 6:45 ` Jason Low
2015-03-07 5:54 ` Ming Lei
2015-03-07 6:57 ` Jason Low
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=1425699696.19505.99.camel@stgolabs.net \
--to=dave@stgolabs.net \
--cc=davej@codemonkey.org.uk \
--cc=jason.low2@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.lei@canonical.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=sasha.levin@oracle.com \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox