Commit 0650f490 authored by Marco Crivellari's avatar Marco Crivellari Committed by Heiko Stuebner
Browse files

drm/rockchip: replace use of system_unbound_wq with system_dfl_wq



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: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarMarco Crivellari <marco.crivellari@suse.com>
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20251031104846.119503-2-marco.crivellari@suse.com
parent b49c35ba
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)