]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ice: Unbind the workqueue
authorFrederic Weisbecker <frederic@kernel.org>
Mon, 7 Oct 2024 21:44:07 +0000 (14:44 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 13 Nov 2024 18:30:21 +0000 (10:30 -0800)
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 <frederic@kernel.org>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c

index f9301493e92db057312195931caa9c62cc553fdb..cc8d2d6e2b4d266be8f4bd65c1b08a62685a0767 100644 (file)
@@ -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;