1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/kernel/rcu
Joel Fernandes (Google) ae5c2341ed rcu/segcblist: Add counters to segcblist datastructure
Add counting of segment lengths of segmented callback list.

This will be useful for a number of things such as knowing how big the
ready-to-execute segment have gotten. The immediate benefit is ability
to trace how the callbacks in the segmented callback list change.

Also this patch remove hacks related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This cannot be
done anymore and is not needed.

Also fix SRCU:
The negative counting of the unsegmented list cannot be used to adjust
the segmented one. To fix this, sample the unsegmented length in
advance, and use it after CB execution to adjust the segmented list's
length.

Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2021-01-06 16:24:19 -08:00
..
Kconfig rcu: Clarify nocb kthreads naming in RCU_NOCB_CPU config 2020-11-19 19:37:16 -08:00
Kconfig.debug Merge branch 'strictgp.2020.08.24a' into HEAD 2020-09-03 09:47:42 -07:00
Makefile rcuperf: Change rcuperf to rcuscale 2020-08-24 18:39:24 -07:00
rcu.h rcutorture: Make grace-period kthread report match RCU flavor being tested 2020-11-02 17:12:43 -08:00
rcu_segcblist.c rcu/segcblist: Add counters to segcblist datastructure 2021-01-06 16:24:19 -08:00
rcu_segcblist.h rcu/segcblist: Add counters to segcblist datastructure 2021-01-06 16:24:19 -08:00
rcuscale.c rcuscale: Prevent hangs for invalid arguments 2020-11-06 17:13:51 -08:00
rcutorture.c Merge branches 'cpuinfo.2020.11.06a', 'doc.2020.11.06a', 'fixes.2020.11.19b', 'lockdep.2020.11.02a', 'tasks.2020.11.06a' and 'torture.2020.11.06a' into HEAD 2020-11-19 19:37:47 -08:00
refscale.c refscale: Prevent hangs for invalid arguments 2020-11-06 17:13:51 -08:00
srcutiny.c rcu: Use CONFIG_PREEMPTION where appropriate 2019-12-09 12:37:51 -08:00
srcutree.c rcu/segcblist: Add counters to segcblist datastructure 2021-01-06 16:24:19 -08:00
sync.c rcu/sync: Simplify the state machine 2019-05-28 09:05:23 -07:00
tasks.h rcu-tasks: Make the units of ->init_fract be jiffies 2020-11-06 17:17:59 -08:00
tiny.c rcu: Rename *_kfree_callback/*_kfree_rcu_offset/kfree_call_* 2020-06-29 11:59:25 -07:00
tree.c rcu/tree: Make rcu_do_batch count how many callbacks were executed 2021-01-04 13:22:12 -08:00
tree.h rcu: Prevent lockdep-RCU splats on lock acquisition/release 2020-11-19 19:37:17 -08:00
tree_exp.h rcu: Initialize at declaration time in rcu_exp_handler() 2020-08-24 18:36:03 -07:00
tree_plugin.h rcu: Do not report strict GPs for outgoing CPUs 2020-11-19 19:37:17 -08:00
tree_stall.h rcu: Panic after fixed number of stalls 2020-11-19 19:37:16 -08:00
update.c Merge tag 'core-rcu-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-10-18 14:34:50 -07:00