]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390: Replace use of system_wq with system_dfl_wq
authorMarco Crivellari <marco.crivellari@suse.com>
Wed, 17 Sep 2025 15:38:59 +0000 (17:38 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 25 Sep 2025 12:28:58 +0000 (14:28 +0200)
Currently if a user enqueue a work item using schedule_delayed_work() the
used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
schedule_work() that is using system_wq and queue_work(), that makes use
again of WORK_CPU_UNBOUND.

This lack of consistentcy cannot be addressed without refactoring the API.

system_wq is a per-CPU worqueue (replaced by system_percpu_wq), but the
current code does not benefit from it. Because of that, system_wq has been
replaced by system_dfl_wq, the new unbound workqueue.

The old wq will be kept for a few release cylces.

Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Mete Durlu <meted@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/kernel/hiperdispatch.c

index e7b66d046e8d3882bcf1418d9aeb7a7653102c06..2507bc3f775741de20dd06a3be7789693dfe4f5a 100644 (file)
@@ -191,7 +191,7 @@ int hd_enable_hiperdispatch(void)
                return 0;
        if (hd_online_cores <= hd_entitled_cores)
                return 0;
-       mod_delayed_work(system_wq, &hd_capacity_work, HD_DELAY_INTERVAL * hd_delay_factor);
+       mod_delayed_work(system_dfl_wq, &hd_capacity_work, HD_DELAY_INTERVAL * hd_delay_factor);
        hd_update_capacities();
        return 1;
 }