diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-04-14 16:48:11 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-05-10 11:08:35 -0700 |
commit | 4a90a0681cf6cd21cd444184302aa045156486b3 (patch) | |
tree | 5e54587e0844d51f6c015f4c489cbf021c9db509 /kernel/rcutree.c | |
parent | 4300aa642cc9ecb35f2e0683dd294fb790ef028c (diff) | |
download | lwn-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.c | 2 |
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); |