mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
powerpc/xmon: simplify xmon_batch_next_cpu()
The function opencodes for_each_cpu_wrap() macro. As a loop termination condition it uses cpumask_empty(), which is O(N), and it makes the whole algorithm O(N^2). Switching to for_each_cpu_wrap() simplifies the logic, and makes the algorithm linear. Signed-off-by: Yury Norov <yury.norov@gmail.com>
This commit is contained in:
parent
2a402aa64c
commit
40ba13b430
|
|
@ -1271,11 +1271,7 @@ static int xmon_batch_next_cpu(void)
|
|||
{
|
||||
unsigned long cpu;
|
||||
|
||||
while (!cpumask_empty(&xmon_batch_cpus)) {
|
||||
cpu = cpumask_next_wrap(smp_processor_id(), &xmon_batch_cpus,
|
||||
xmon_batch_start_cpu, true);
|
||||
if (cpu >= nr_cpu_ids)
|
||||
break;
|
||||
for_each_cpu_wrap(cpu, &xmon_batch_cpus, xmon_batch_start_cpu) {
|
||||
if (xmon_batch_start_cpu == -1)
|
||||
xmon_batch_start_cpu = cpu;
|
||||
if (xmon_switch_cpu(cpu))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user