Re: [PATCH v3 00/10] Fix multi process path selection in Intel drivers

Bruce Richardson
2026-02-18T12:30:26Z

On Wed, Feb 18, 2026 at 09:49:27AM +0000, Ciara Loftus wrote:
> This series fixes and makes consistent the approach to selecting Rx and
> Tx paths in a multi process scenario across the Intel drivers that use
> the common path selection framework.
>
> In v25.11 the i40e, iavf and ice drivers prevented Rx path selection by
> secondary processes, in favour of simply selecting the path chosen by
> the primary process. However, this model does not work if the primary
> process hasn't started the device before the secondary process
> encounters the path selection logic. To address this, permit path
> selection by any process, so long as the device has not yet been
> started. This allows for the use case where the secondary process is the
> process that starts the device.
> The idpf and cpfl drivers are updated to follow this model as well.
>
> The same issue exists for the Tx path selection for i40e, iavf, ice,
> idpf and cpfl, so implement the same logic when selecting a Tx path as
> well ie. permit path selection if the device has not been started.
>
> If two processes were to call the path selection at the same time, in
> most cases they should both land on the same result. Both would be using
> the same information from dev->data to build up the structure that is
> used as input to the path selection function. The effect would be both
> writing the same values to shared variables eg. rx_func_type in
> dev->data->dev_private. For this reason I did not add any locking around
> the path selection logic. The only exception would be the case where the
> primary and secondary processes are configured with different maximum
> SIMD bitwidths however this is an invalid use case IMO.
>
> I kept the patches for fixing the Rx and Tx path selection separate, as
> the patches that target the Rx side will need to be backported to v25.11
> whereas the patches for the Tx side do not as that logic was introduced
> post v25.11.
>
> v3: In iavf ensure a secondary process can see if the primary process has
> enabled LLDP, which ensures that the correct Tx path will be chosen ie.
> one with context descriptor support if LLDP is enabled.
>
> Ciara Loftus (10):
> net/i40e: permit secondary process Rx path selection
> net/iavf: permit secondary process Rx path selection
> net/ice: permit secondary process Rx path selection
> net/idpf: prevent Rx path selection after device start
> net/cpfl: prevent Rx path selection after device start
> net/i40e: permit secondary process Tx path selection
> net/iavf: permit secondary process Tx path selection
> net/ice: permit secondary process Tx path selection
> net/idpf: permit secondary process Tx path selection
> net/cpfl: permit secondary process Tx path selection
>
Applied to next-net-intel.

I've squashed the final 5 patches together as they are the same changes
just made to different drivers + one other small incidental change for iavf
The first 5 I've kept all separate as they are also for backporting, and having
them smaller should make that easier.

Thanks,
/Bruce