aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-04-14 19:48:11 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-05-10 14:08:35 -0400
commit4a90a0681cf6cd21cd444184302aa045156486b3 (patch)
tree5e54587e0844d51f6c015f4c489cbf021c9db509 /kernel/rcutree.c
parent4300aa642cc9ecb35f2e0683dd294fb790ef028c (diff)
rcu: permit discontiguous cpu_possible_mask CPU numbering
TREE_RCU assumes that CPU numbering is contiguous, but some users need large holes in the numbering to better map to hardware layout. This patch makes TREE_RCU (and TREE_PREEMPT_RCU) tolerate large holes in the CPU numbering. However, NR_CPUS must still be greater than the largest CPU number. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r--kernel/rcutree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index f391886be8f0..c60fd74e7ec9 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -1913,7 +1913,7 @@ static void __init rcu_init_one(struct rcu_state *rsp)
1913 1913
1914 rnp = rsp->level[NUM_RCU_LVLS - 1]; 1914 rnp = rsp->level[NUM_RCU_LVLS - 1];
1915 for_each_possible_cpu(i) { 1915 for_each_possible_cpu(i) {
1916 if (i > rnp->grphi) 1916 while (i > rnp->grphi)
1917 rnp++; 1917 rnp++;
1918 rsp->rda[i]->mynode = rnp; 1918 rsp->rda[i]->mynode = rnp;
1919 rcu_boot_init_percpu_data(i, rsp); 1919 rcu_boot_init_percpu_data(i, rsp);