Messages in this thread |  | | From | Marco Crivellari <> | | Subject | [PATCH v5 0/2] Add new workqueue wrapper and enqueue on cpu functions | | Date | Wed, 4 Feb 2026 16:50:35 +0100 |
| |
Hi,
Recently the workqueue code has been changed introducing two new workqueue, system_percpu_wq and system_dfl_wq, as a future replacement for system_wq and system_unbound_wq respectively.
The change has been introduced by: 'commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")'
The old workqueue(s) will be removed in a next release cycle.
=== Introduced Changes by this series ===
1) [P 1] Add wrapper for the new system_dfl_wq - This change introduce two new Rust functions in order to add a wrapper for the new wq(s) defined in the C code.
2) [P 2] Add wrapper for system_percpu_wq and two new functions - The new functions added are enqueue_cpu() and enqueue_delayed_cpu() and are accepting a u32 parameter, the id of the CPU on which the work should be scheduled on.
Thanks!
--- Changes in v5: - system_dfl() renamed to system_default()
- Cover letter v4: https://lore.kernel.org/all/20260203152818.317806-1-marco.crivellari@suse.com/
Changes in v4: - two new function added in the Queue implementation: * enqueue_cpu() * enqueue_delayed_cpu()
These functions receive a u32 CPU id in order to schedule work on that CPU.
More info can be found in the v3 discussion: https://lore.kernel.org/all/CAAofZF6jcCAdDjRp-7w7+_ZgOG4k3apxbSiKvGoUDVf5hw0GhA@mail.gmail.com/
Changes in v3: - added a proper comment documenting the new added functions.
Changes in v2: - added system_percpu() and system_dfl() in order to use the new wq defined in the C code.
- fixed misleading paragraph in the commit log (no warnings are currently present).
Marco Crivellari (2): rust: add system_default() around the new system_dfl_wq rust: add system_percpu() and per-cpu enqueue functions
rust/kernel/sync/completion.rs | 2 +- rust/kernel/workqueue.rs | 110 +++++++++++++++++++++++++++++++-- 2 files changed, 105 insertions(+), 7 deletions(-)
-- 2.52.0
|  |