Re: [PATCH tip/core/rcu 06/27] rcu: Mark task as .need_qs less aggressively

From: Peter Zijlstra
Date: Tue Jun 26 2018 - 13:08:41 EST


On Mon, Jun 25, 2018 at 05:34:52PM -0700, Paul E. McKenney wrote:
> If any scheduling-clock interrupt interrupts an RCU-preempt read-side
> critical section, the interrupted task's ->rcu_read_unlock_special.b.need_qs
> field is set. This causes the outermost rcu_read_unlock() to incur the
> extra overhead of calling into rcu_read_unlock_special(). This commit
> reduces that overhead by setting ->rcu_read_unlock_special.b.need_qs only
> if the grace period has been in effect for more than one second.

Even less agressive is never setting it at all.

Changelog fails to explain why not setting it every tick is correct, nor
why 1s is a 'safe' value to use.