[SRU][R/Q/P/N/J][PATCH 0/1] i40e: avoid redundant VF link state updates
Robert Malz
robert.malz at canonical.com
Mon Nov 3 15:40:29 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2130552
[ Impact ]
* In the i40e driver, every VF link state change request is causing a VF reset,
even if the requested change is already set. This leads to unnecessary VF
resets and can cause performance degradation or instability in the VF
driver, particularly in DPDK environments.
* With the proposed patch, i40e will skip VF link state change requests when the
desired link state matches the current configuration. This prevents
unnecessary VF resets and reduces PF-VF communication overhead.
* The issue was originally detected by analyzing DPDK VF driver issues during
OpenStack Neutron restarts. In such cases, i40e will issue an unnecessary VF
reset request which causes instability in the DPDK driver.
[ Test Plan ]
* The issue can be reproduced by triggering VF link state changes multiple times
with the same requested link state.
* To reproduce the problem, run the following command multiple times
on the same interface: 'ip link set <ifname> vf 0 state auto'.
Every time the command is executed, the PF driver will trigger a VF reset.
* Monitor for VF reset events using dmesg or appropriate logging mechanisms
to confirm the issue and verify the fix.
* Regression testing should include:
- Verify normal VF link state changes still work correctly when state actually changes
- Validate that legitimate state changes still trigger resets when needed
[ Where problems could occur ]
* Changes only affect the i40e .ndo_set_vf_link_state routine. In case
of any regressions, only the ability to set VF link state changes could be
impacted.
* The patch was verified locally and passed Intel internal test execution.
* Potential failure modes:
- Logic error in state comparison could prevent legitimate state changes
- Incorrect state tracking could lead to inconsistent VF behavior
* Risk mitigation:
- The change is isolated to a specific code path in the i40e driver
- Existing VF functionality remains unchanged when state changes are needed
- The patch adds a simple comparison check before existing link change routine
[ Other Info ]
* At the time of writing this document, the target patch is still in the net-next
tree and has not yet been merged into linux-next.
* Patch: a7ae783da0b919550e260aebfca1c6ef030b99a4 from netdev/net-next
* Patch applies on most versions without any conflicts
* No dependencies on other patches
* Backport requirements: Patch should apply cleanly to Ubuntu kernel versions
* VF reset during link state change was added as a part of 31deb12e85c35ddd2c037f0107d05d8674cab2c0 (upstream) commit, which is included in the Kernels starting from 5.15
Jay Vosburgh (1):
i40e: avoid redundant VF link state updates
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
--
2.34.1
More information about the kernel-team
mailing list