From: Oleg Nesterov <oleg@redhat.com>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Boqun Feng <boqun.feng@gmail.com>,
Michal Hocko <mhocko@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
David Howells <dhowells@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jonathan Corbet <corbet@lwn.net>
Subject: Re: wake_up_process implied memory barrier clarification
Date: Tue, 1 Sep 2015 11:41:27 +0200 [thread overview]
Message-ID: <20150901094127.GA31368@redhat.com> (raw)
In-Reply-To: <20150831203739.GX4029@linux.vnet.ibm.com>
On 08/31, Paul E. McKenney wrote:
>
> On Mon, Aug 31, 2015 at 08:33:35PM +0200, Oleg Nesterov wrote:
> > On 08/31, Boqun Feng wrote:
> > >
> > > Fair enough, I went too far. How about just a single paragraph saying
> > > that:
> > >
> > > The wake_up(), wait_event() and their friends have proper barriers in
> > > them, but these implicity barriers are only for the correctness for
> > > sleep and wakeup. So don't rely on these barriers for things that are
> > > neither wait-conditons nor task states.
> > >
> > > Is that OK to you?
> >
> > Ask Paul ;) but personally I agree.
> >
> > To me, the only thing a user should know about wake_up/try_to_wake_up
> > and barriers is that you do not need another barrier between setting
> > condition and waking up.
>
> Sounds like an excellent idea in general. But could you please show me
> a short code snippet illustrating where you don't need the additional
> barrier, even if the fastpaths are taken so that there is no sleep and
> no wakeup?
I guess I wasn't clear... All I tried to say is that
CONDITION = 1;
wake_up_process();
does not need any _additional_ barrier in between.
I mentioned this because afaics people are often unsure if this is true
or not, and to some degree this question initiated this discussion.
Oleg.
prev parent reply other threads:[~2015-09-01 9:44 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-27 12:27 wake_up_process implied memory barrier clarification Michal Hocko
2015-08-27 12:43 ` Peter Zijlstra
2015-08-27 13:14 ` Michal Hocko
2015-08-27 18:26 ` Oleg Nesterov
2015-08-28 14:51 ` Michal Hocko
2015-08-28 16:06 ` Oleg Nesterov
2015-08-29 9:25 ` Boqun Feng
2015-08-29 14:27 ` Oleg Nesterov
2015-08-31 0:37 ` Boqun Feng
2015-08-31 18:33 ` Oleg Nesterov
2015-08-31 20:37 ` Paul E. McKenney
2015-09-01 3:40 ` Boqun Feng
2015-09-01 4:03 ` Paul E. McKenney
2015-09-01 9:59 ` Oleg Nesterov
2015-09-01 14:50 ` Boqun Feng
2015-09-01 16:39 ` Oleg Nesterov
2015-09-02 1:10 ` Boqun Feng
2015-09-07 17:06 ` Oleg Nesterov
2015-09-08 0:22 ` Boqun Feng
2015-09-01 9:41 ` Oleg Nesterov [this message]
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=20150901094127.GA31368@redhat.com \
--to=oleg@redhat.com \
--cc=boqun.feng@gmail.com \
--cc=corbet@lwn.net \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--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 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.