> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of > Michal Schmidt > Sent: Thursday, May 23, 2024 4:43 AM > To: Brandeburg, Jesse <jesse.brandeb...@intel.com>; Nguyen, Anthony L > <anthony.l.ngu...@intel.com>; intel-wired-...@lists.osuosl.org > Cc: net...@vger.kernel.org; Thomas Gleixner <t...@linutronix.de>; Nitesh > Narayan Lal <nit...@redhat.com> > Subject: [Intel-wired-lan] [PATCH iwl-next] ice: use > irq_update_affinity_hint() > > irq_set_affinity_hint() is deprecated. Use irq_update_affinity_hint() > instead. This removes the side-effect of actually applying the affinity. > > The driver does not really need to worry about spreading its IRQs across > CPUs. The core code already takes care of that. > On the contrary, when the driver applies affinities by itself, it breaks the > users' expectations: > 1. The user configures irqbalance with IRQBALANCE_BANNED_CPULIST in > order to prevent IRQs from being moved to certain CPUs that run a > real-time workload. > 2. ice reconfigures VSIs at runtime due to a MIB change > (ice_dcb_process_lldp_set_mib_change). Reopening a VSI resets the > affinity in ice_vsi_req_irq_msix(). > 3. ice has no idea about irqbalance's config, so it may move an IRQ to > a banned CPU. The real-time workload suffers unacceptable latency. > > I am not sure if updating the affinity hints is at all useful, because > irqbalance ignores them since 2016 ([1]), but at least it's harmless. > > This ice change is similar to i40e commit d34c54d1739c ("i40e: Use > irq_update_affinity_hint()"). > > [1] https://github.com/Irqbalance/irqbalance/commit/dcc411e7bfdd > > Signed-off-by: Michal Schmidt <mschm...@redhat.com> > --- > drivers/net/ethernet/intel/ice/ice_lib.c | 4 ++-- > drivers/net/ethernet/intel/ice/ice_main.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) >
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pu...@intel.com> (A Contingent worker at Intel)