Skip to content

rcu: Cleanup RCU tree initialization

Alexander Gordeev lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest9 patches 1 replyIn review
  2. v29 patches 4 repliesSuperseded
  3. v110 patches 10 repliesSuperseded

Changes in v3 from the cover letter

- patch 1 fixed to avoid a panic in case rcu_fanout_leaf

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9rcu: Panic if RCU tree can not accommodate all CPUskernel/rcu/tree.c+17 -120 replies
2/9rcu: Remove superfluous local variable in rcu_init_geometry()kernel/rcu/tree.c+7 -70 replies
3/9rcu: Cleanup rcu_init_geometry() code and arithmeticskernel/rcu/tree.c+10 -140 replies
4/9rcu: Simplify rcu_init_geometry() capacity arithmeticskernel/rcu/tree.c+8 -100 replies
5/9rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS itemskernel/rcu/tree.h+1 -10 replies
6/9rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS itemskernel/rcu/tree.c kernel/rcu/tree.h+6 -80 replies
7/9rcu: Remove unnecessary fields from rcu_state structurekernel/rcu/tree.c kernel/rcu/tree.h+15 -140 replies
8/9rcu: Limit count of static data to the number of RCU levelskernel/rcu/tree.c kernel/rcu/tree.h+16 -170 replies
9/9rcu: Simplify arithmetic to calculate number of RCU nodeskernel/rcu/tree.h kernel/rcu/tree_plugin.h+6 -150 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/9] rcu: Cleanup RCU tree initialization

Hello Paul,

This is 3rd attempt to make RCU tree initialization bit more clear and optimize memory footprint of data associated with the tree.

Changes since v2:
- patch 1 fixed to avoid a panic in case rcu_fanout_leaf

    is out of bounds;

Changes since v1:
- patch 3 fixed to accomodate nr_cpus=1, otherwise rcu_num_lvls

    would yield zero, which is wrong;

The series is against "linux-rcu" tree "rcu/dev" branch

Thanks!

Cc "Paul E. McKenney" <[email protected]>
Cc Steven Rostedt <[email protected]>

Alexander Gordeev (9):
rcu: Panic if RCU tree can not accommodate all CPUs
rcu: Remove superfluous local variable in rcu_init_geometry()
rcu: Cleanup rcu_init_geometry() code and arithmetics
rcu: Simplify rcu_init_geometry() capacity arithmetics
rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items
rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS items
rcu: Remove unnecessary fields from rcu_state structure
rcu: Limit count of static data to the number of RCU levels
rcu: Simplify arithmetic to calculate number of RCU nodes

 kernel/rcu/tree.c        | 109 +++++++++++++++++++++--------------------------
 kernel/rcu/tree.h        |  33 +++++++-------
 kernel/rcu/tree_plugin.h |   4 +-
 3 files changed, 67 insertions(+), 79 deletions(-)
Signature · 1 line
1.8.3.1