rcu: Assume IRQS disabled from rcu_report_dead()
authorFrederic Weisbecker <frederic@kernel.org>
Fri, 8 Sep 2023 20:35:58 +0000 (22:35 +0200)
committerFrederic Weisbecker <frederic@kernel.org>
Wed, 4 Oct 2023 15:34:54 +0000 (17:34 +0200)
commit358662a9616c5078dc4d389d6bceeb5974f4aa97
tree8d058e04ce8f73cf1a05664a12769a89cf6994de
parent7df2a2a024145d0dcc1e51dc378c527000b35b07
rcu: Assume IRQS disabled from rcu_report_dead()

rcu_report_dead() is the last RCU word from the CPU down through the
hotplug path. It is called in the idle loop right before the CPU shuts
down for good. Because it removes the CPU from the grace period state
machine and reports an ultimate quiescent state if necessary, no further
use of RCU is allowed. Therefore it is expected that IRQs are disabled
upon calling this function and are not to be re-enabled again until the
CPU shuts down.

Remove the IRQs disablement from that function and verify instead that
it is actually called with IRQs disabled as it is expected at that
special point in the idle path.

Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
kernel/rcu/tree.c