]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/rockchip: replace use of system_unbound_wq with system_dfl_wq
authorMarco Crivellari <marco.crivellari@suse.com>
Fri, 31 Oct 2025 10:48:45 +0000 (11:48 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 9 Jan 2026 19:23:42 +0000 (20:23 +0100)
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>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20251031104846.119503-2-marco.crivellari@suse.com
drivers/gpu/drm/rockchip/rockchip_drm_vop.c

index ad4ab894391adee84559acc1facbea9897864f04..1b466623b6c72484a064ef3f15e85875fdcb1da9 100644 (file)
@@ -1771,7 +1771,7 @@ static void vop_handle_vblank(struct vop *vop)
        spin_unlock(&drm->event_lock);
 
        if (test_and_clear_bit(VOP_PENDING_FB_UNREF, &vop->pending))
-               drm_flip_work_commit(&vop->fb_unref_work, system_unbound_wq);
+               drm_flip_work_commit(&vop->fb_unref_work, system_dfl_wq);
 }
 
 static irqreturn_t vop_isr(int irq, void *data)