On Wed, 2016-08-31 at 15:31 +0200, Peter Zijlstra wrote: > On Wed, Aug 31, 2016 at 07:28:18AM +1000, Benjamin Herrenschmidt > wrote: > > > > > On powerpc we have a sync deep in _switch to achieve that. > > OK, for giggles, could you (or Balbir) check what happens if you take > that sync out? > > There should be enough serialization in the generic code to cover the > case that code mentions. > > ARM64 has a stronger barrier in its context switch code, but that's > because they need to sync against external agents (like their TLB and > cache) and no amount of generic locking is going to cover that.
The problem is no amount of testing can tell you it works for sure :-) 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... Cheers, Ben.