Skip to content

Commit

Permalink
cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bi…
Browse files Browse the repository at this point in the history
…ts.: 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: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Mike Travis <travis@sgi.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Rusty Russell committed Mar 16, 2009
1 parent e305cb8 commit ec7c14b
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 17 deletions.
11 changes: 5 additions & 6 deletions arch/sparc/kernel/smp_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,12 @@ void __init smp_cpus_done(unsigned int max_cpus)
extern void smp4m_smp_done(void);
extern void smp4d_smp_done(void);
unsigned long bogosum = 0;
int cpu, num;
int cpu, num = 0;

for (cpu = 0, num = 0; cpu < NR_CPUS; cpu++)
if (cpu_online(cpu)) {
num++;
bogosum += cpu_data(cpu).udelay_val;
}
for_each_online_cpu(cpu) {
num++;
bogosum += cpu_data(cpu).udelay_val;
}

printk("Total of %d processors activated (%lu.%02lu BogoMIPS).\n",
num, bogosum/(500000/HZ),
Expand Down
9 changes: 4 additions & 5 deletions arch/sparc/kernel/sun4d_smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,11 +228,10 @@ void __init smp4d_smp_done(void)
/* setup cpu list for irq rotation */
first = 0;
prev = &first;
for (i = 0; i < NR_CPUS; i++)
if (cpu_online(i)) {
*prev = i;
prev = &cpu_data(i).next;
}
for_each_online_cpu(i) {
*prev = i;
prev = &cpu_data(i).next;
}
*prev = first;
local_flush_cache_all();

Expand Down
8 changes: 3 additions & 5 deletions arch/sparc/kernel/sun4m_smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,9 @@ void __init smp4m_smp_done(void)
/* setup cpu list for irq rotation */
first = 0;
prev = &first;
for (i = 0; i < NR_CPUS; i++) {
if (cpu_online(i)) {
*prev = i;
prev = &cpu_data(i).next;
}
for_each_online_cpu(i) {
*prev = i;
prev = &cpu_data(i).next;
}
*prev = first;
local_flush_cache_all();
Expand Down
2 changes: 1 addition & 1 deletion arch/sparc/mm/srmmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1425,7 +1425,7 @@ static void __init init_vac_layout(void)
min_line_size = vac_line_size;
//FIXME: cpus not contiguous!!
cpu++;
if (cpu >= NR_CPUS || !cpu_online(cpu))
if (cpu >= nr_cpu_ids || !cpu_online(cpu))
break;
#else
break;
Expand Down

0 comments on commit ec7c14b

Please sign in to comment.