Re: [PATCH RFC tip/core/rcu] Parallelize and economize NOCB kthread wakeups

Peter Zijlstra
2014-07-08T09:05:04Z

On Wed, Jul 02, 2014 at 01:29:38PM -0400, Rik van Riel wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 07/02/2014 01:26 PM, Peter Zijlstra wrote:
> > On Wed, Jul 02, 2014 at 10:08:38AM -0700, Paul E. McKenney wrote:
> >> As were others, not that long ago. Today is the first hint that
> >> I got that you feel otherwise. But it does look like the softirq
> >> approach to callback processing needs to stick around for awhile
> >> longer. Nice to hear that softirq is now "sane and normal"
> >> again, I guess. ;-)
> >
> > Nah, softirqs are still totally annoying :-)
> >
> > So I've lost detail again, but it seems to me that on all CPUs that
> > are actually getting ticks, waking tasks to process the RCU state
> > is entirely over doing it. Might as well keep processing their RCU
> > state from the tick as was previously done.
>
> For CPUs that are not getting ticks (eg. because they are idle),
> is it worth waking up anything on that CPU, or would it make more
> sense to simply process their RCU callbacks on a different CPU,
> if there aren't too many pending?

If they're idle, RCU 'should' know this and exclude them from the state
machine, the tricky part, and where all this nocb nonsense started with,
its the NOHZ_FULL stuff where a cpu can be !idle but still not get
ticks.