]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/nouveau: replace use of system_unbound_wq with system_dfl_wq
authorMarco Crivellari <marco.crivellari@suse.com>
Fri, 31 Oct 2025 10:20:19 +0000 (11:20 +0100)
committerDanilo Krummrich <dakr@kernel.org>
Tue, 28 Apr 2026 10:46:55 +0000 (12:46 +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 consistency cannot be addressed without refactoring the API.

system_unbound_wq should be the default workqueue so as not to enforce
locality constraints for random work whenever it's not required.

Adding system_dfl_wq to encourage its use when unbound work should be used.

The old system_unbound_wq will be kept for a few release cycles.

Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20251031102020.95349-2-marco.crivellari@suse.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
drivers/gpu/drm/nouveau/dispnv50/disp.c

index 6c3a8712d38ab471b5eef0d3dfef42ddc28e981a..04b6fa3ee2ae7c0fcda1df6410ffe29617d8545f 100644 (file)
@@ -2474,7 +2474,7 @@ nv50_disp_atomic_commit(struct drm_device *dev,
        pm_runtime_get_noresume(dev->dev);
 
        if (nonblock)
-               queue_work(system_unbound_wq, &state->commit_work);
+               queue_work(system_dfl_wq, &state->commit_work);
        else
                nv50_disp_atomic_commit_tail(state);