Re: [RFC][PATCH] Fix a race between rwsem and the scheduler
From: Boqun Feng
Date: Thu Sep 01 2016 - 10:17:59 EST
On Thu, Sep 01, 2016 at 08:57:38AM +0200, Peter Zijlstra wrote:
> On Thu, Sep 01, 2016 at 07:47:10AM +1000, Benjamin Herrenschmidt wrote:
>
> > > OK, for giggles, could you (or Balbir) check what happens if you take
> > > that sync out?
>
> > The problem is no amount of testing can tell you it works for sure :-)
>
> It breaking does prove the negative though, so still interesting.
>
> > I would be nervous not having a real full sync in _switch. All we have
> > along the scheduler path is lwsync's and our isync based load construct
> > for spin_lock, I'm not sure what other assumptions we have around that
> > sync in there...
>
> Only one way to find out ;-)
>
> I'm not saying you should commit that change, just curious if (and how
> fast) it would come apart.
>
> At the very least we could update the comment that goes with that sync.
Could there be some code that relies on the full barrier semantics of
schedule() to provide transitivity?
IIUC, the Program Order Guarantee you stated before try_to_wake_up()
only has ordering effect on wakers and wakees.
Regards,
Boqun
Attachment:
signature.asc
Description: PGP signature