tick/nohz: Only check for RCU deferred wakeup on user/guest entry when needed
authorFrederic Weisbecker <frederic@kernel.org>
Thu, 27 May 2021 11:34:41 +0000 (13:34 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 31 May 2021 08:14:49 +0000 (10:14 +0200)
commitf268c3737ecaefcfeecfb4cb5e44958a8976f067
tree895c3ffc8d716b3d00851b569eb183f73a95d9fc
parent02da26ad5ed6ea8680e5d01f20661439611ed776
tick/nohz: Only check for RCU deferred wakeup on user/guest entry when needed

Checking for and processing RCU-nocb deferred wakeup upon user/guest
entry is only relevant when nohz_full runs on the local CPU, otherwise
the periodic tick should take care of it.

Make sure we don't needlessly pollute these fast-paths as a -3%
performance regression on a will-it-scale.per_process_ops has been
reported so far.

Fixes: 47b8ff194c1f (entry: Explicitly flush pending rcuog wakeup before last rescheduling point)
Fixes: 4ae7dc97f726 (entry/kvm: Explicitly flush pending rcuog wakeup before last rescheduling point)
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20210527113441.465489-1-frederic@kernel.org
include/linux/entry-kvm.h
include/linux/tick.h
kernel/entry/common.c
kernel/time/tick-sched.c