summaryrefslogtreecommitdiff
path: root/kernel/rcutree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-04-14 16:48:11 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-05-10 11:08:35 -0700
commit4a90a0681cf6cd21cd444184302aa045156486b3 (patch)
tree5e54587e0844d51f6c015f4c489cbf021c9db509 /kernel/rcutree.c
parent4300aa642cc9ecb35f2e0683dd294fb790ef028c (diff)
downloadlwn-4a90a0681cf6cd21cd444184302aa045156486b3.tar.gz
lwn-4a90a0681cf6cd21cd444184302aa045156486b3.zip
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)
rnp = rsp->level[NUM_RCU_LVLS - 1];
for_each_possible_cpu(i) {
- if (i > rnp->grphi)
+ while (i > rnp->grphi)
rnp++;
rsp->rda[i]->mynode = rnp;
rcu_boot_init_percpu_data(i, rsp);