Hi, On Mon, May 11, 2026 at 11:28 AM Marco Crivellari <[email protected]> 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: Haren Myneni <[email protected]> > Cc: Rick Lindsley <[email protected]> > Cc: Nick Child <[email protected]> > Cc: Madhavan Srinivasan <[email protected]> > Cc: Michael Ellerman <[email protected]> > Cc: Nicholas Piggin <[email protected]> > Cc: Christophe Leroy (CS GROUP) <[email protected]> > Cc: [email protected] > Signed-off-by: Marco Crivellari <[email protected]> > --- > drivers/net/ethernet/ibm/ibmvnic.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-)
Gentle ping. Thanks! -- Marco Crivellari SUSE Labs
