Messages in this thread | | | Date | Tue, 3 Sep 2019 22:06:03 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 2/3] task: RCU protect tasks on the runqueue |
| |
On Tue, Sep 03, 2019 at 12:18:47PM -0700, Linus Torvalds wrote: > Now, if you can point to some particular field where that ordering > makes sense for the particular case of "make it active on the > runqueue" vs "look up the task from the runqueue using RCU", then I do > think that the whole release->acquire consistency makes sense. > > But it's not clear that such a field exists, particularly when this is > in no way the *common* way to even get a task pointer, and other paths > do *not* use the runqueue as the serialization point.
Even if we could find a case (and I'm not seeing one in a hurry), I would try really hard to avoid adding extra barriers here and instead make the consumer a little more complicated if at all possible.
The Power folks got rid of a SYNC (yes, more expensive than LWSYNC) from their __switch_to() implementation and that had a measurable impact.
9145effd626d ("powerpc/64: Drop explicit hwsync in context switch")
| |