> -----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)

Reply via email to