]> git.karo-electronics.de Git - linux-beck.git/commit
rcu: limit rcu_node leaf-level fanout
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 15 Dec 2010 00:07:52 +0000 (16:07 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 17 Dec 2010 20:34:20 +0000 (12:34 -0800)
commit0209f6490b030f35349a2bb71294f3fd75b0f36d
tree159e233c6fcaf63fbb1a18f5db54af38a8336ee3
parent121dfc4b3eba9e2f3c42d35205a3510cc65b9931
rcu: limit rcu_node leaf-level fanout

Some recent benchmarks have indicated possible lock contention on the
leaf-level rcu_node locks.  This commit therefore limits the number of
CPUs per leaf-level rcu_node structure to 16, in other words, there
can be at most 16 rcu_data structures fanning into a given rcu_node
structure.  Prior to this, the limit was 32 on 32-bit systems and 64 on
64-bit systems.

Note that the fanout of non-leaf rcu_node structures is unchanged.  The
organization of accesses to the rcu_node tree is such that references
to non-leaf rcu_node structures are much less frequent than to the
leaf structures.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree.c
kernel/rcutree.h