Re: [RFC PATCH 1/2] ASoC: cs42l43: Move long delayed work on system_dfl_long_wq

From: Charles Keepax

Date: Fri May 08 2026 - 11:19:16 EST


On Fri, May 08, 2026 at 05:03:18PM +0200, Marco Crivellari wrote:
> Move long delayed work on system_dfl_long_wq
>
> Currently the code enqueue work items using {queue|mod}_delayed_work(),
> using system_long_wq. This workqueue should be used when long works are
> expected and it is a per-cpu workqueue.
>
> The function(s) end up calling __queue_delayed_work(), which set a global
> timer that could fire anywhere, enqueuing the work where the timer fired.
>
> Unbound works could benefit from scheduler task placement, to optimize
> performance and power consumption. Long work shouldn't stick to a single
> CPU.
>
> Recently, a new unbound workqueue specific for long running work has
> been added:
>
>     c116737e972e ("workqueue: Add system_dfl_long_wq for long unbound works")
>
> Since the workqueue work doesn't rely on per-cpu variables, there is no
> obvious reason that justify the use of a per-cpu workqueue. So change
> system_long_wq with system_dfl_long_wq so that the work may benefit from
> scheduler task placement.
>
> Cc: David Rhodes <david.rhodes@xxxxxxxxxx>
> Cc: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
> Cc: <patches@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Marco Crivellari <marco.crivellari@xxxxxxxx>
> ---

Reviewed-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>

Thanks,
Charles