Commit ec7c14bd authored by Rusty Russell's avatar Rusty Russell

cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc

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: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarMike Travis <travis@sgi.com>
Acked-by: default avatarIngo Molnar <mingo@elte.hu>
parent e305cb8f
...@@ -70,13 +70,12 @@ void __init smp_cpus_done(unsigned int max_cpus) ...@@ -70,13 +70,12 @@ void __init smp_cpus_done(unsigned int max_cpus)
extern void smp4m_smp_done(void); extern void smp4m_smp_done(void);
extern void smp4d_smp_done(void); extern void smp4d_smp_done(void);
unsigned long bogosum = 0; unsigned long bogosum = 0;
int cpu, num; int cpu, num = 0;
for (cpu = 0, num = 0; cpu < NR_CPUS; cpu++) for_each_online_cpu(cpu) {
if (cpu_online(cpu)) { num++;
num++; bogosum += cpu_data(cpu).udelay_val;
bogosum += cpu_data(cpu).udelay_val; }
}
printk("Total of %d processors activated (%lu.%02lu BogoMIPS).\n", printk("Total of %d processors activated (%lu.%02lu BogoMIPS).\n",
num, bogosum/(500000/HZ), num, bogosum/(500000/HZ),
......
...@@ -228,11 +228,10 @@ void __init smp4d_smp_done(void) ...@@ -228,11 +228,10 @@ void __init smp4d_smp_done(void)
/* setup cpu list for irq rotation */ /* setup cpu list for irq rotation */
first = 0; first = 0;
prev = &first; prev = &first;
for (i = 0; i < NR_CPUS; i++) for_each_online_cpu(i) {
if (cpu_online(i)) { *prev = i;
*prev = i; prev = &cpu_data(i).next;
prev = &cpu_data(i).next; }
}
*prev = first; *prev = first;
local_flush_cache_all(); local_flush_cache_all();
......
...@@ -186,11 +186,9 @@ void __init smp4m_smp_done(void) ...@@ -186,11 +186,9 @@ void __init smp4m_smp_done(void)
/* setup cpu list for irq rotation */ /* setup cpu list for irq rotation */
first = 0; first = 0;
prev = &first; prev = &first;
for (i = 0; i < NR_CPUS; i++) { for_each_online_cpu(i) {
if (cpu_online(i)) { *prev = i;
*prev = i; prev = &cpu_data(i).next;
prev = &cpu_data(i).next;
}
} }
*prev = first; *prev = first;
local_flush_cache_all(); local_flush_cache_all();
......
...@@ -1425,7 +1425,7 @@ static void __init init_vac_layout(void) ...@@ -1425,7 +1425,7 @@ static void __init init_vac_layout(void)
min_line_size = vac_line_size; min_line_size = vac_line_size;
//FIXME: cpus not contiguous!! //FIXME: cpus not contiguous!!
cpu++; cpu++;
if (cpu >= NR_CPUS || !cpu_online(cpu)) if (cpu >= nr_cpu_ids || !cpu_online(cpu))
break; break;
#else #else
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment