[PATCH tip/core/rcu 16/48] rcu: permit discontiguous cpu_possible_mask CPU numbering

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Paul E. McKenney
Date: Tuesday, May 4, 2010 - 1:19 pm

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>
---
 kernel/rcutree.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index f391886..c60fd74 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);
-- 
1.7.0

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH tip/core/rcu 03/48] rcu: make dead code really dead, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 16/48] rcu: permit discontiguous cpu_p ..., Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 19/48] Debugobjects transition check, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 22/48] rcu head remove init, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 24/48] rcu: make SRCU usable in modules, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 0/48] v4 patches queued for 2.6.35, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 32/48] rculist: avoid __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 33/48] cgroups: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 34/48] credentials: rcu annotation, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 35/48] keys: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 36/48] nfs: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 38/48] perf_event: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 39/48] notifiers: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 40/48] radix-tree: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 41/48] idr: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 42/48] input: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 43/48] vhost: add __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 44/48] net/netfilter: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 45/48] kvm: add __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 46/48] kernel: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 47/48] net: __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
[PATCH tip/core/rcu 48/48] kvm: more __rcu annotations, Paul E. McKenney, (Tue May 4, 1:19 pm)
Re: [PATCH tip/core/rcu 43/48] vhost: add __rcu annotations, Michael S. Tsirkin, (Tue May 4, 2:39 pm)
Re: [PATCH tip/core/rcu 43/48] vhost: add __rcu annotations, Paul E. McKenney, (Tue May 4, 4:57 pm)
Re: [PATCH tip/core/rcu 43/48] vhost: add __rcu annotations, Michael S. Tsirkin, (Tue May 4, 4:59 pm)
Re: [PATCH tip/core/rcu 33/48] cgroups: __rcu annotations, Paul E. McKenney, (Tue May 4, 5:04 pm)
Re: [PATCH tip/core/rcu 43/48] vhost: add __rcu annotations, Paul E. McKenney, (Tue May 4, 5:39 pm)
Re: [PATCH tip/core/rcu 36/48] nfs: __rcu annotations, David Howells, (Wed May 5, 3:14 am)
Re: [PATCH tip/core/rcu 36/48] nfs: __rcu annotations, Trond Myklebust, (Wed May 5, 5:44 am)
Re: [PATCH tip/core/rcu 36/48] nfs: __rcu annotations, Paul E. McKenney, (Wed May 5, 2:01 pm)