OSDN Git Service

rcu: Discard separate per-CPU callback counts
authorPaul E. McKenney <paulmck@linux.ibm.com>
Thu, 29 Nov 2018 21:28:49 +0000 (13:28 -0800)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Fri, 25 Jan 2019 23:28:30 +0000 (15:28 -0800)
commit260e1e4fd826a8e47c8976efba6a54d62b4a57de
treec9e6ac47f789562966eed2eea94da1593440bc7f
parent892307266429f6439803f2735a59a4bc58a6ded4
rcu: Discard separate per-CPU callback counts

Back when there were multiple flavors of RCU, it was necessary to
separately count lazy and non-lazy callbacks for each CPU.  These counts
were used in CONFIG_RCU_FAST_NO_HZ kernels to determine how long a newly
idle CPU should be allowed to sleep before handling its RCU callbacks.
But now that there is only one flavor, the callback counts for a given
CPU's sole rcu_data structure are the counts for that CPU.

This commit therefore removes the rcu_data structure's ->nonlazy_posted
and ->nonlazy_posted_snap fields, the rcu_idle_count_callbacks_posted()
and rcu_cpu_has_callbacks() functions, repurposes the rcu_data structure's
->all_lazy field to record the laziness state at the beginning of the
latest idle sojourn, and modifies CONFIG_RCU_FAST_NO_HZ RCU CPU stall
warnings accordingly.

Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Documentation/RCU/stallwarn.txt
kernel/rcu/tree.c
kernel/rcu/tree.h
kernel/rcu/tree_plugin.h