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

From: Alexander Gordeev
Date: Wed Jun 03 2015 - 02:18:52 EST


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" <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>

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(-)

--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/