Re: [RFC PATCH 3/6] hfsplus: Move long delayed work on system_dfl_long_wq

From: Viacheslav Dubeyko

Date: Fri May 08 2026 - 14:35:00 EST


On Fri, 2026-05-08 at 15:45 +0200, Marco Crivellari wrote:
> 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: Viacheslav Dubeyko <slava@xxxxxxxxxxx>
> Cc: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
> Cc: Yangtao Li <frank.li@xxxxxxxx>
> Cc: linux-fsdevel@xxxxxxxxxxxxxxx
> Signed-off-by: Marco Crivellari <marco.crivellari@xxxxxxxx>
> ---
> fs/hfsplus/super.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c
> index 40a0feda716b..12ba672e13bc 100644
> --- a/fs/hfsplus/super.c
> +++ b/fs/hfsplus/super.c
> @@ -314,7 +314,7 @@ void hfsplus_mark_mdb_dirty(struct super_block *sb)
> spin_lock(&sbi->work_lock);
> if (!sbi->work_queued) {
> delay = msecs_to_jiffies(dirty_writeback_interval * 10);
> - queue_delayed_work(system_long_wq, &sbi->sync_work, delay);
> + queue_delayed_work(system_dfl_long_wq, &sbi->sync_work, delay);
> sbi->work_queued = 1;
> }
> spin_unlock(&sbi->work_lock);

Looks good.

Reviewed-by: Viacheslav Dubeyko <slava@xxxxxxxxxxx>

Thanks,
Slava.