Commit 0998f0ac authored by Yury Norov [NVIDIA]'s avatar Yury Norov [NVIDIA] Committed by Tejun Heo
Browse files

workqueue: fix opencoded cpumask_next_and_wrap() in wq_select_unbound_cpu()



The dedicated helper is more verbose and effective comparing to
cpumask_first() followed by cpumask_next().

Signed-off-by: default avatarYury Norov [NVIDIA] <yury.norov@gmail.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 19272b37
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -2221,12 +2221,9 @@ static int wq_select_unbound_cpu(int cpu)
	}

	new_cpu = __this_cpu_read(wq_rr_cpu_last);
	new_cpu = cpumask_next_and(new_cpu, wq_unbound_cpumask, cpu_online_mask);
	if (unlikely(new_cpu >= nr_cpu_ids)) {
		new_cpu = cpumask_first_and(wq_unbound_cpumask, cpu_online_mask);
	new_cpu = cpumask_next_and_wrap(new_cpu, wq_unbound_cpumask, cpu_online_mask);
	if (unlikely(new_cpu >= nr_cpu_ids))
		return cpu;
	}
	__this_cpu_write(wq_rr_cpu_last, new_cpu);

	return new_cpu;