rcu: Split hierarchical RCU initialization into boot-time and CPU-online pieces
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 15 Aug 2009 16:53:46 +0000 (09:53 -0700)
committerIngo Molnar <mingo@elte.hu>
Sat, 15 Aug 2009 17:02:07 +0000 (19:02 +0200)
commit27569620c748ec13f801b4683b448a2ac2adaae4
treed5fd5dd1b9d352ca0ef2cf224f7141338d3413f3
parentfa08661af834875c9bd6f7f0b1b9388dc72a6585
rcu: Split hierarchical RCU initialization into boot-time and CPU-online pieces

This patch divides the rcutree initialization into boot-time
and hotplug-time components, so that the tree data structures
are guaranteed to be fully linked at boot time regardless of
what might happen in CPU hotplug operations.

This makes RCU more resilient against CPU hotplug misbehavior
(and vice versa), but more importantly, does a better job of
compartmentalizing the code.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: josht@linux.vnet.ibm.com
Cc: akpm@linux-foundation.org
Cc: mathieu.desnoyers@polymtl.ca
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: hugh.dickins@tiscali.co.uk
Cc: benh@kernel.crashing.org
LKML-Reference: <1250355231152-git-send-email->
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcutree.c