Bug 128 - AVX became unaccessible when trying to assign vlan to VF

Review Request #50 — Created Oct. 13, 2023 and updated — Latest diff uploaded

timlai
AVX2
rel_avx_2_7_2
128
jasonchou, peteryeh, wli

Root cause:
When using spin_lock() and usleep_range() at the same time, it cause race condition.

Solution:
Patch modification in newer i40e driver source code
1. Use udelay instead of usleep_range
2. Avoid use spin_lock() and usleep_range() at the same time

AVX#tail -f /var/log/messages
Oct 13 17:57:29 AN kernel: i40e 0000:60:00.0: VF 0 has already configured VLAN filters and the administrator is requesting a port VLAN override.#012Please unload and reload the VF driver for this change to take effect.
Oct 13 17:57:29 AN kernel: i40e 0000:60:00.0: VF 0 cannot do promisc due to not promisc or pf has set it
Oct 13 17:57:29 AN kernel: i40e 0000:60:00.0: Setting VLAN 6, QOS 0x0 on VF 0
Oct 13 17:57:29 AN backend: avx_system [/usr/sbin/ip link set enp96s0f0 vf 0 vlan 6] 0,1,0
Oct 13 17:57:29 AN backend: port1,enp96s0f0 vf 0 has been set vlan 6

    Loading...