linux/drivers/net
Michal Schmidt dee55767dc 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 d34c54d173 ("i40e: Use
irq_update_affinity_hint()").

[1] https://github.com/Irqbalance/irqbalance/commit/dcc411e7bfdd

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Reviewed-by: Sunil Goutham <sgoutham@marvell.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20240607-next-2024-06-03-intel-next-batch-v3-3-d1470cee3347@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-06-10 19:52:45 -07:00
..
arcnet
bonding bonding: fix oops during rmmod 2024-05-16 19:33:07 -07:00
caif net: caif: virtio: drop owner assignment 2024-05-22 08:31:17 -04:00
can net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
dsa net: dsa: hellcreek: Replace kernel.h with what is used 2024-06-10 13:13:02 +01:00
ethernet ice: use irq_update_affinity_hint() 2024-06-10 19:52:45 -07:00
fddi
fjes net: fjes: correct TRACE_INCLUDE_PATH 2024-05-30 18:28:31 -07:00
hamradio
hippi
hyperv tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
ieee802154
ipa net: ipa: allocate dummy net_device dynamically 2024-04-24 12:00:16 +01:00
ipvlan ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound 2024-05-30 12:05:52 +02:00
mctp
mdio
netdevsim netdevsim: add NAPI support 2024-05-08 18:59:47 -07:00
pcs net: pcs: lynx: no need to read LPA in lynx_pcs_get_state_2500basex() 2024-05-13 16:37:18 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-06 12:06:56 -07:00
plip
ppp rtnetlink: allow rtnl_fill_link_netnsid() to run under RCU protection 2024-05-07 11:14:50 +02:00
pse-pd net: pse-pd: Kconfig: Add missing Regulator API dependency 2024-04-24 20:14:16 -07:00
slip net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
team net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
thunderbolt
usb r8152: Set NET_ADDR_STOLEN if using passthru MAC 2024-06-06 17:33:12 -07:00
vmxnet3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-06 12:06:56 -07:00
vxlan vxlan: Fix regression when dropping packets due to invalid src addresses 2024-06-05 10:51:10 +01:00
wan
wireguard
wireless wireless-next patches for v6.11 2024-06-10 17:40:26 -07:00
wwan net: wwan: iosm: Fix tainted pointer delete is case of region creation fail 2024-06-06 10:15:14 +02:00
xen-netback net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
gtp.c gtp: identify tunnel via GTP device + GTP version + TEID + family 2024-05-07 01:36:02 +02:00
ifb.c
Kconfig net: netdevsim: select PAGE_POOL in Kconfig 2024-04-17 18:25:30 -07:00
LICENSE.SRC
loopback.c net: loopback: Do not allocate lstats explicitly 2024-04-30 19:01:58 -07:00
macsec.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
macvlan.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
macvtap.c
Makefile net: Always descend into dsa/ folder with CONFIG_NET_DSA enabled 2024-05-20 11:04:29 +01:00
mdio.c
mhi_net.c
mii.c
net_failover.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
netconsole.c netconsole: Do not shutdown dynamic configuration if cmdline is invalid 2024-05-29 17:19:50 -07:00
netkit.c netkit: Fix pkt_type override upon netkit pass verdict 2024-05-25 10:48:57 -07:00
nlmon.c
ntb_netdev.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
pfcp.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: extend ubuf_info callback to ops structure 2024-04-22 16:21:35 -07:00
tun.c for-6.10/io_uring-20240511 2024-05-13 12:48:06 -07:00
veth.c Revert "net: mirror skb frag ref/unref helpers" 2024-05-03 16:05:53 -07:00
virtio_net.c virtio_net: fix a spurious deadlock issue 2024-06-01 15:14:06 -07:00
vrf.c inet: introduce dst_rtable() helper 2024-04-30 18:32:38 -07:00
vsockmon.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
xen-netfront.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00