Re: [PATCH v5 tip/core/rcu 15/16] rcu: Make RCU-tasks wait for idle tasks

From: Peter Zijlstra
Date: Wed Aug 13 2014 - 04:12:36 EST


On Mon, Aug 11, 2014 at 03:49:04PM -0700, Paul E. McKenney wrote:
> From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
>
> Because idle-task code may need to be patched, RCU-tasks need to wait
> for idle tasks to schedule. This commit therefore detects this case
> via context switch. Block CPU hotplug during this time to avoid sending
> IPIs to offline CPUs.
>
> Note that checking for changes in the dyntick-idle counters is tempting,
> but wrong. The reason that it is wrong is that a interrupt or NMI can
> increment these counters without necessarily allowing the idle tasks to
> make any forward progress.

I'm going to NAK this.. with that rcu_idle patch I send there's
typically only a single idle function thats out of bounds and if its
more it can be made that with a bit of tlc to the cpuidle driver in
question.

This needs _FAR_ more justification than a maybe and a want.

Attachment: pgp7kMLxYJopn.pgp
Description: PGP signature