cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: parisc
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 16 Mar 2009 03:49:37 +0000 (14:19 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 16 Mar 2009 03:49:37 +0000 (14:19 +1030)
Impact: cleanup, futureproof

In fact, all cpumask ops will only be valid (in general) for bit
numbers < nr_cpu_ids.  So use that instead of NR_CPUS in various
places.

This is always safe: no cpu number can be >= nr_cpu_ids, and
nr_cpu_ids is initialized to NR_CPUS at boot.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Mike Travis <travis@sgi.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
arch/parisc/kernel/irq.c
arch/parisc/kernel/processor.c

index 29e70e1..103752a 100644 (file)
@@ -311,12 +311,12 @@ unsigned long txn_alloc_addr(unsigned int virt_irq)
        next_cpu++; /* assign to "next" CPU we want this bugger on */
 
        /* validate entry */
-       while ((next_cpu < NR_CPUS) &&
+       while ((next_cpu < nr_cpu_ids) &&
                (!per_cpu(cpu_data, next_cpu).txn_addr ||
                 !cpu_online(next_cpu)))
                next_cpu++;
 
-       if (next_cpu >= NR_CPUS
+       if (next_cpu >= nr_cpu_ids
                next_cpu = 0;   /* nothing else, assign monarch */
 
        return txn_affinity_addr(virt_irq, next_cpu);
index ecb6093..44a1a50 100644 (file)
@@ -100,8 +100,8 @@ static int __cpuinit processor_probe(struct parisc_device *dev)
        struct cpuinfo_parisc *p;
 
 #ifdef CONFIG_SMP
-       if (num_online_cpus() >= NR_CPUS) {
-               printk(KERN_INFO "num_online_cpus() >= NR_CPUS\n");
+       if (num_online_cpus() >= nr_cpu_ids) {
+               printk(KERN_INFO "num_online_cpus() >= nr_cpu_ids\n");
                return 1;
        }
 #else