Re: [PATCH] tracing: Replace use of system_wq with system_percpu_wq

From: Steven Rostedt

Date: Wed Dec 24 2025 - 15:43:25 EST


On Wed, 24 Dec 2025 17:20:00 +0100
Marco Crivellari <marco.crivellari@xxxxxxxx> wrote:

> Before that to happen after a careful review and conversion of each individual
> case, 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.
>
> Suggested-by: Tejun Heo <tj@xxxxxxxxxx>
> Signed-off-by: Marco Crivellari <marco.crivellari@xxxxxxxx>
> ---
> kernel/trace/trace_events_filter.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
> index 385af8405392..bb6de1d38f78 100644
> --- a/kernel/trace/trace_events_filter.c
> +++ b/kernel/trace/trace_events_filter.c
> @@ -1375,7 +1375,7 @@ static void free_filter_list_tasks(struct rcu_head *rhp)
> struct filter_head *filter_list = container_of(rhp, struct filter_head, rcu);
>
> INIT_RCU_WORK(&filter_list->rwork, free_filter_list_work);
> - queue_rcu_work(system_wq, &filter_list->rwork);
> + queue_rcu_work(system_percpu_wq, &filter_list->rwork);

This is just garbage collection and has no need to be done on the CPU it
was queued on. I guess this can use system_dfl_wq?

-- Steve


> }
>