> -----Original Message----- > From: Petr Oros <[email protected]> > Sent: Friday, October 2, 2026 6:08 AM > To: [email protected] > Cc: Oros, Petr <[email protected]>; Nguyen, Anthony L > <[email protected]>; Kitszel, Przemyslaw > <[email protected]>; Andrew Lunn <[email protected]>; David S. > Miller <[email protected]>; Eric Dumazet <[email protected]>; Jakub > Kicinski <[email protected]>; Paolo Abeni <[email protected]>; Lobakin, > Aleksander <[email protected]>; Alexei Starovoitov > <[email protected]>; Daniel Borkmann <[email protected]>; Jesper Dangaard > Brouer <[email protected]>; John Fastabend <[email protected]>; > Stanislav Fomichev <[email protected]>; Henry Tieman > > <[email protected]>; Anirudh Venkataramanan > <[email protected]>; Michal Swiatkowski > <[email protected]>; Jesse Brandeburg <[email protected]>; > Preethi Banala <[email protected]>; Kiran Patil > <[email protected]>; Dan Nowlin <[email protected]>; Stephen Hemminger > <[email protected]>; [email protected]; > [email protected]; [email protected] > Subject: [PATCH iwl-net 04/10] ice: restore the default XPS map after a > netdev TC change > > ice_cfg_xps_tx_ring() programs the default XPS map only once per ring, > guarded by ICE_TX_XPS_INIT_DONE. netdev_reset_tc() and > netdev_set_num_tc() drop all XPS maps of the device, but the bit is never > cleared, so the default map is not programmed again. > > Since commit 122045ca7704 ("ice: config netdev tc before setting queues > number") ice_vsi_open() calls ice_vsi_cfg_netdev_tc() after the Tx queues > have been configured, so the map is wiped right after it was written on every > open and stays empty: > > # cat /sys/class/net/enp4s0f0np0/queues/tx-*/xps_cpus > 0000 > 0000 > ... > > A DCB reconfiguration ends the same way through ice_vsi_cfg_tc(). > > Clear ICE_TX_XPS_INIT_DONE in ice_vsi_cfg_netdev_tc(), which resets the > netdev TC state, and configure the netdev TCs in ice_vsi_open() before the Tx > queues so the default map is applied after the reset, not before it. > > i40e fixed the same stale bit in commit 82e0572b2302 ("i40e: Fix not setting > default xps_cpus after reset"). > > Fixes: 122045ca7704 ("ice: config netdev tc before setting queues number") > Assisted-by: LLM > Signed-off-by: Petr Oros <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_lib.c | 6 ++++++ > drivers/net/ethernet/intel/ice/ice_main.c | 6 +++--- > 2 files changed, 9 insertions(+), 3 deletions(-)
Tested-by: Alexander Nowlin <[email protected]>
