]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ACPI: scan: replace use of system_unbound_wq with system_dfl_wq
authorMarco Crivellari <marco.crivellari@suse.com>
Thu, 30 Oct 2025 15:47:35 +0000 (16:47 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 3 Nov 2025 17:45:42 +0000 (18:45 +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>
Link: https://patch.msgid.link/20251030154739.262582-2-marco.crivellari@suse.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/scan.c

index ef16d58b29499d4faa81399c4623e6847f28229c..e0c0b5a50d264527575ca5b31626b94f20d4b91a 100644 (file)
@@ -2397,7 +2397,7 @@ static bool acpi_scan_clear_dep_queue(struct acpi_device *adev)
         * initial enumeration of devices is complete, put it into the unbound
         * workqueue.
         */
-       queue_work(system_unbound_wq, &cdw->work);
+       queue_work(system_dfl_wq, &cdw->work);
 
        return true;
 }