cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64
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>
This commit is contained in:
@@ -653,7 +653,7 @@ static void __cpuinit dr_cpu_data(struct ds_info *dp,
|
|||||||
if (cpu_list[i] == CPU_SENTINEL)
|
if (cpu_list[i] == CPU_SENTINEL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (cpu_list[i] < NR_CPUS)
|
if (cpu_list[i] < nr_cpu_ids)
|
||||||
cpu_set(cpu_list[i], mask);
|
cpu_set(cpu_list[i], mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -265,12 +265,12 @@ static int irq_choose_cpu(unsigned int virt_irq)
|
|||||||
spin_lock_irqsave(&irq_rover_lock, flags);
|
spin_lock_irqsave(&irq_rover_lock, flags);
|
||||||
|
|
||||||
while (!cpu_online(irq_rover)) {
|
while (!cpu_online(irq_rover)) {
|
||||||
if (++irq_rover >= NR_CPUS)
|
if (++irq_rover >= nr_cpu_ids)
|
||||||
irq_rover = 0;
|
irq_rover = 0;
|
||||||
}
|
}
|
||||||
cpuid = irq_rover;
|
cpuid = irq_rover;
|
||||||
do {
|
do {
|
||||||
if (++irq_rover >= NR_CPUS)
|
if (++irq_rover >= nr_cpu_ids)
|
||||||
irq_rover = 0;
|
irq_rover = 0;
|
||||||
} while (!cpu_online(irq_rover));
|
} while (!cpu_online(irq_rover));
|
||||||
|
|
||||||
|
@@ -1092,7 +1092,7 @@ static void __init numa_parse_mdesc_group_cpus(struct mdesc_handle *md,
|
|||||||
if (strcmp(name, "cpu"))
|
if (strcmp(name, "cpu"))
|
||||||
continue;
|
continue;
|
||||||
id = mdesc_get_property(md, target, "id", NULL);
|
id = mdesc_get_property(md, target, "id", NULL);
|
||||||
if (*id < NR_CPUS)
|
if (*id < nr_cpu_ids)
|
||||||
cpu_set(*id, *mask);
|
cpu_set(*id, *mask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user