rcu: Remove never-set needwake assignment from rcu_report_qs_rdp()
authorZqiang <qiang1.zhang@intel.com>
Wed, 18 Jan 2023 07:30:14 +0000 (15:30 +0800)
committerJoel Fernandes (Google) <joel@joelfernandes.org>
Wed, 5 Apr 2023 13:47:44 +0000 (13:47 +0000)
commit46103fe01b02169150f16d8d6e028217c5a7abe5
treeb83a426a9684d067d47e5be5c8e002ac574fd8a3
parent2450b78e0bb1e034eaa2a33dca689282bd8c892a
rcu: Remove never-set needwake assignment from rcu_report_qs_rdp()

The rcu_accelerate_cbs() function is invoked by rcu_report_qs_rdp()
only if there is a grace period in progress that is still blocked
by at least one CPU on this rcu_node structure.  This means that
rcu_accelerate_cbs() should never return the value true, and thus that
this function should never set the needwake variable and in turn never
invoke rcu_gp_kthread_wake().

This commit therefore removes the needwake variable and the invocation
of rcu_gp_kthread_wake() in favor of a WARN_ON_ONCE() on the call to
rcu_accelerate_cbs().  The purpose of this new WARN_ON_ONCE() is to
detect situations where the system's opinion differs from ours.

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