On Thu, Nov 6, 2025 at 4:37 PM Philipp Stanner <[email protected]> wrote: > > On Thu, 2025-11-06 at 16:01 +0100, Marco Crivellari wrote: > > In the general workqueue implementation, if a user enqueues 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. > > Alright, just to be sure: > Behavior doesn't change and system_percpu_wq is then still a workqueue > where we can submit normal delayed_work? > > The scheduler's timeout mechanism relies on scheduling and canceling > delayed work items.
Correct, system_percpu_wq is the replacement of system_wq. They are the same. We chosen to add a new workqueue instead of rename system_wq, to make the transition process smooth, but you can look at all of this as a rename of system_wq into system_percpu_wq, basically. You can confirm by looking at the header file "include/linux/workqueue.h", and search for system_wq. There is only its definition, everything has been replaced with system_percpu_wq. > Thanks for the updated commit message, looks great. Perfect! :-) Thanks! -- Marco Crivellari L3 Support Engineer, Technology & Product
