Unverified Commit 4fb289d3 authored by Marco Crivellari's avatar Marco Crivellari Committed by Rodrigo Vivi
Browse files

drm/i915: replace use of system_wq with system_percpu_wq in the documentation



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_wq should be the per-cpu workqueue, yet in this name nothing makes
that clear, so replace system_wq with system_percpu_wq.

This patch continues the effort to refactor worqueue APIs, which has
begun with the change introducing new workqueues:

commit 128ea9f6 ("workqueue: Add system_percpu_wq and system_dfl_wq")

The old wq (system_wq) will be kept for a few release cycles.

This change only update the documentation of drm/i915.

Suggested-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarMarco Crivellari <marco.crivellari@suse.com>
Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Link: https://patch.msgid.link/20251104100032.61525-3-marco.crivellari@suse.com


Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 36ed3648
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ static int i915_workqueues_init(struct drm_i915_private *dev_priv)
	/*
	 * The unordered i915 workqueue should be used for all work
	 * scheduling that do not require running in order, which used
	 * to be scheduled on the system_wq before moving to a driver
	 * to be scheduled on the system_percpu_wq before moving to a driver
	 * instance due deprecation of flush_scheduled_work().
	 */
	dev_priv->unordered_wq = alloc_workqueue("i915-unordered", 0, 0);
+1 −1
Original line number Diff line number Diff line
@@ -249,7 +249,7 @@ struct drm_i915_private {
	 *
	 * This workqueue should be used for all unordered work
	 * scheduling within i915, which used to be scheduled on the
	 * system_wq before moving to a driver instance due
	 * system_percpu_wq before moving to a driver instance due
	 * deprecation of flush_scheduled_work().
	 */
	struct workqueue_struct *unordered_wq;