[PATCH v2 0/3] replace uses of system_wq with system_percpu_wq, request alloc_workqueue to be per-cpu

From: Marco Crivellari

Date: Thu Nov 27 2025 - 09:41:42 EST


Hi,

This continues the effort to refactor workqueue APIs, which began with
the introduction of new workqueues and a new alloc_workqueue flag in:

commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")

More information can be found at the link below:

https://lore.kernel.org/all/20250221112003.1dSuoGyc@xxxxxxxxxxxxx/

=== Changes introduced by this series ===

1) [P 1] Request alloc_workqueue() to be per-cpu if WQ_UNBOUND is not present

The refactoring is going to alter the default behavior of
alloc_workqueue() to be unbound by default.

With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND),
any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND
must now use WQ_PERCPU.

2) [P 2-3]

Workqueue users must be converted to the better named new workqueues with
no intended behaviour changes:

system_wq -> system_percpu_wq
system_unbound_wq -> system_dfl_wq

This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
removed in the future.


Thanks!

---
Changes in v2:
- Patches grouped in 1 single series

- commit logs improved


Marco Crivellari (3):
platform/surface: acpi-notify: add WQ_PERCPU to alloc_workqueue users
platform: x86: replace use of system_wq with system_percpu_wq
platform: surface: replace use of system_wq with system_percpu_wq

drivers/platform/surface/aggregator/ssh_packet_layer.c | 2 +-
drivers/platform/surface/aggregator/ssh_request_layer.c | 2 +-
drivers/platform/surface/surface_acpi_notify.c | 2 +-
drivers/platform/x86/gpd-pocket-fan.c | 4 ++--
drivers/platform/x86/x86-android-tablets/vexia_atla10_ec.c | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)

--
2.51.1