From: Frederic Weisbecker Date: Mon, 7 Oct 2024 21:44:07 +0000 (-0700) Subject: ice: Unbind the workqueue X-Git-Tag: v6.13-rc1~135^2~25^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fcc17a3ba0ceef76cb2197742f9e90fb17e89b2e;p=thirdparty%2Fkernel%2Flinux.git ice: Unbind the workqueue The ice workqueue doesn't seem to rely on any CPU locality and should therefore be able to run on any CPU. In practice this is already happening through the unbound ice_service_timer that may fire anywhere and queue the workqueue accordingly to any CPU. Make this official so that the ice workqueue is only ever queued to housekeeping CPUs on nohz_full. Signed-off-by: Frederic Weisbecker Tested-by: Pucha Himasekhar Reddy (A Contingent worker at Intel) Signed-off-by: Tony Nguyen --- diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index f9301493e92db..cc8d2d6e2b4d2 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c @@ -5931,7 +5931,7 @@ static int __init ice_module_init(void) ice_adv_lnk_speed_maps_init(); - ice_wq = alloc_workqueue("%s", 0, 0, KBUILD_MODNAME); + ice_wq = alloc_workqueue("%s", WQ_UNBOUND, 0, KBUILD_MODNAME); if (!ice_wq) { pr_err("Failed to create workqueue\n"); return status;