Messages in this thread | | | Date | Mon, 31 Aug 2015 13:37:39 -0700 | From | "Paul E. McKenney" <> | Subject | Re: wake_up_process implied memory barrier clarification |
| |
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?
Thanx, Paul
| |