Skip to content

Tree geometry-initialization simplifications for 4.3

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 8 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12rcu: Provide more diagnostics for stalled GP kthreadkernel/rcu/tree.c kernel/rcu/tree.h+13 -30 replies
2/12rcu: Panic if RCU tree can not accommodate all CPUskernel/rcu/tree.c+17 -128 replies
3/12rcu: Remove superfluous local variable in rcu_init_geometry()kernel/rcu/tree.c+7 -70 replies
4/12rcu: Cleanup rcu_init_geometry() code and arithmeticskernel/rcu/tree.c+10 -140 replies
5/12rcu: Simplify rcu_init_geometry() capacity arithmeticskernel/rcu/tree.c+8 -100 replies
6/12rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS itemskernel/rcu/tree.h+1 -10 replies
7/12rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS itemskernel/rcu/tree.c kernel/rcu/tree.h+6 -80 replies
8/12rcu: Remove unnecessary fields from rcu_state structurekernel/rcu/tree.c kernel/rcu/tree.h+15 -140 replies
9/12rcu: Limit count of static data to the number of RCU levelskernel/rcu/tree.c kernel/rcu/tree.h+16 -170 replies
10/12rcu: Simplify arithmetic to calculate number of RCU nodeskernel/rcu/tree.h kernel/rcu/tree_plugin.h+6 -150 replies
11/12rcu: Shut up bogus gcc array bounds warningkernel/rcu/tree.h+3 -10 replies
12/12rcu: Reset rcu_fanout_leaf if out of boundskernel/rcu/tree.c+1 -00 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/12] Tree geometry-initialization simplifications for 4.3

Hello!

This series simplifies the arithmetic involved in computing the geometry of Tree RCU's combining tree.

1. Provide more diagnostics for stalled GP kthread. (A bit off-topic,
but included in this series due to conflicting updates.)

2. Panic if RCU tree can not accommodate all CPUs, courtesy of
Alexander Gordeev.

3. Remove superfluous local variable in rcu_init_geometry(),
courtesy of Alexander Gordeev.

4. Cleanup rcu_init_geometry() code and arithmetic, courtesy of
Alexander Gordeev.

5. Simplify rcu_init_geometry() capacity arithmetic, courtesy of
Alexander Gordeev.

6. Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items, courtesy of
Alexander Gordeev.

7. Limit rcu_capacity[] size to RCU_NUM_LVLS items, courtesy of
Alexander Gordeev.

8. Remove unnecessary fields from rcu_state structure, courtesy of
Alexander Gordeev.

9. Limit count of static data to the number of RCU levels, courtesy
of Alexander Gordeev.

10. Simplify arithmetic to calculate number of RCU nodes, courtesy
of Alexander Gordeev.

11. Shut up bogus gcc array bounds warning, courtesy of Alexander
Gordeev.

12. Reset rcu_fanout_leaf if out of bounds.

Thanx, Paul

------------------------------------------------------------------------

 b/kernel/rcu/tree.c        |  156 +++++++++++++++++++++------------------------
 b/kernel/rcu/tree.h        |   45 +++++++-----
 b/kernel/rcu/tree_plugin.h |    4 -
 3 files changed, 103 insertions(+), 102 deletions(-)