osnoise: provide quiescent states
To reduce RCU noise for nohz_full configurations, osnoise depends on cond_resched() providing quiescent states for PREEMPT_RCU=n configurations. For PREEMPT_RCU=y configurations -- where cond_resched() is a stub -- we do this by directly calling rcu_momentary_eqs(). With (PREEMPT_LAZY=y, PREEMPT_DYNAMIC=n), however, we have a configuration with (PREEMPTION=y, PREEMPT_RCU=n) where neither of the above can help. Handle that by providing an explicit quiescent state here for all configurations. As mentioned above this is not needed for non-stubbed cond_resched(), but, providing a quiescent state here just pulls in one that a future cond_resched() would provide, so doesn't cause any extra work for this configuration. Cc: Paul E. McKenney <paulmck@kernel.org> Cc: Daniel Bristot de Oliveira <bristot@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Suggested-by:Paul E. McKenney <paulmck@kernel.org> Acked-by:
Daniel Bristot de Oliveira <bristot@kernel.org> Signed-off-by:
Ankur Arora <ankur.a.arora@oracle.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Acked-by:
Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
Loading
Please sign in to comment