Re: [PATCH v3 tip/core/rcu 3/9] rcu: Add synchronous grace-period waiting for RCU-tasks

From: Peter Zijlstra
Date: Thu Aug 07 2014 - 13:28:12 EST


On Thu, Aug 07, 2014 at 05:26:00PM +0200, Peter Zijlstra wrote:
> > > So do we really need the call_rcu_task() thing and why isn't something
> > > like synchronize_tasks() good enough?
> >
> > Sounds like a question for Steven.
> >
> > > So the thing is, the one proposed user is very rare (*) and for that
> > > you're adding overhead outside of that user (a separate kthread) and
> > > your adding overhead when its not used.
> >
> > If that really was the case, that would be bad. However, in the latest
> > versions, that is no longer the case.
> >
> > > * I'm assuming that, since tracing is 'rare' and this is some tracing
> > > thing.
> >
> > Another good point for Steven.
>
> Yes.. and he's back now, so please :-)

Right, Steve (and Paul) please explain _why_ this is an 'RCU' at all?
_Why_ do we have call_rcu_task(), and why is it entwined in the 'normal'
RCU stuff? We've got SRCU -- which btw started out simple, without
call_srcu() -- and that lives entirely independent. And SRCU is far more
an actual RCU than this thing is, its got read side primitives and
everything.

Also, I cannot think of any other use besides trampolines for this
thing, but that might be my limited imagination.


Attachment: pgpQH7klXpyAw.pgp
Description: PGP signature