Thread (33 messages) 33 messages, 6 authors, 2025-10-24

Re: [PATCH net-next v2 13/14] ixgbe: preserve RSS indirection table across admin down/up

From: Kohei Enju <hidden>
Date: 2025-10-21 04:00:16
Also in: linux-doc, lkml

On Mon, 20 Oct 2025 18:32:46 -0700, Jakub Kicinski wrote:
On Thu, 16 Oct 2025 23:08:42 -0700 Jacob Keller wrote:
quoted
Currently, the RSS indirection table configured by user via ethtool is
reinitialized to default values during interface resets (e.g., admin
down/up, MTU change). As for RSS hash key, commit 3dfbfc7ebb95 ("ixgbe:
Check for RSS key before setting value") made it persistent across
interface resets.

Adopt the same approach used in igc and igb drivers which reinitializes
the RSS indirection table only when the queue count changes. Since the
number of RETA entries can also change in ixgbe, let's make user
configuration persistent as long as both queue count and the number of
RETA entries remain unchanged.
We should take this a step further and also not reinitialize if 
netif_is_rxfh_configured(). Or am I missing something?
Hi Jakub, thank you for reviewing.

Actually, you raise a good point about netif_is_rxfh_configured().

However, we can't determine whether we should reinitialize or not based
solely on netif_is_rxfh_configured(), since the RETA table is determined
by (1) the queue count and (2) the size of RETA table.

So, simply skipping reinitialization on netif_is_rxfh_configured() would
leave invalid RETA entries when those parameters are to be changed.

For example, consider a scenario where the queue count is 8 with user
configuration containing values from 0 to 7. When queue count changes
from 8 to 4 and we skip the reinitialization in this scenario, entries
pointing to queues 4-7 become invalid. The same issue applies when the
RETA table size changes.

Furthermore, IIUC, adding netif_is_rxfh_configured() to the current
condition wouldn't provide additional benefit. When parameters remain
unchanged, regardless of netif_is_rxfh_configured(), we already preserve
the RETA entries which might be user-configured or default values, 

Therefore I believe the current logic is correct as is, and we should
reinitialize the RETA entries when either parameter changes, regardless
of netif_is_rxfh_configured().
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help