From: Yury Norov [NVIDIA] Date: Thu, 5 Jun 2025 00:21:37 +0000 (-0400) Subject: workqueue: fix opencoded cpumask_next_and_wrap() in wq_select_unbound_cpu() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0998f0ac308c14f7a0750e9c24fe2083a817d8fb;p=thirdparty%2Fkernel%2Flinux.git 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: Yury Norov [NVIDIA] Signed-off-by: Tejun Heo --- diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 97f37b5bae669..d9de0f2a2e006 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -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); - if (unlikely(new_cpu >= nr_cpu_ids)) - return cpu; - } + 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;