]> git.baikalelectronics.ru Git - kernel.git/commit
tick/rcu: Stop allowing RCU_SOFTIRQ in idle
authorFrederic Weisbecker <frederic@kernel.org>
Tue, 8 Feb 2022 16:16:34 +0000 (17:16 +0100)
committerFrederic Weisbecker <frederic@kernel.org>
Mon, 7 Mar 2022 22:01:34 +0000 (23:01 +0100)
commit676f34c563b5aed2f84864bab42215e6c6121320
treee5db80c55f164e4e61de306e4542401b1043c3e0
parent8b11d525f578c4fe73b9478fa8bbea3623422e51
tick/rcu: Stop allowing RCU_SOFTIRQ in idle

RCU_SOFTIRQ used to be special in that it could be raised on purpose
within the idle path to prevent from stopping the tick. Some code still
prevents from unnecessary warnings related to this specific behaviour
while entering in dynticks-idle mode.

However the nohz layout has changed quite a bit in ten years, and the
removal of CONFIG_RCU_FAST_NO_HZ has been the final straw to this
safe-conduct. Now the RCU_SOFTIRQ vector is expected to be raised from
sane places.

A remaining corner case is admitted though when the vector is invoked
in fragile hotplug path.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Paul E. McKenney <paulmck@kernel.org>
Cc: Paul Menzel <pmenzel@molgen.mpg.de>
include/linux/interrupt.h
kernel/time/tick-sched.c