Commit d2806d9
Revert "iavf: Detach device during reset task"
This reverts commit aa626da.
Detaching device during reset was not fully fixing the rtnl locking issue,
as there could be a situation where callback was already in progress before
detaching netdev.
Furthermore, detaching netdevice causes TX timeouts if traffic is running.
To reproduce:
ip netns exec ns1 iperf3 -c $PEER_IP -t 600 --logfile /dev/null &
while :; do
for i in 200 7000 400 5000 300 3000 ; do
ip netns exec ns1 ip link set $VF1 mtu $i
sleep 2
done
sleep 10
done
Currently, callbacks such as iavf_change_mtu() wait for the reset.
If the reset fails to acquire the rtnl_lock, they schedule the netdev
update for later while continuing the reset flow. Operations like MTU
changes are performed under the rtnl_lock. Therefore, when the operation
finishes, another callback that uses rtnl_lock can start.
Signed-off-by: Dawid Wesierski <dawidx.wesierski@intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>1 parent c2ed240 commit d2806d9
1 file changed
Lines changed: 2 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2977 | 2977 | | |
2978 | 2978 | | |
2979 | 2979 | | |
2980 | | - | |
2981 | | - | |
2982 | | - | |
2983 | | - | |
2984 | | - | |
2985 | 2980 | | |
2986 | 2981 | | |
2987 | 2982 | | |
2988 | 2983 | | |
2989 | 2984 | | |
2990 | 2985 | | |
2991 | 2986 | | |
2992 | | - | |
| 2987 | + | |
2993 | 2988 | | |
2994 | 2989 | | |
2995 | 2990 | | |
| |||
3192 | 3187 | | |
3193 | 3188 | | |
3194 | 3189 | | |
3195 | | - | |
| 3190 | + | |
3196 | 3191 | | |
3197 | 3192 | | |
3198 | 3193 | | |
| |||
3213 | 3208 | | |
3214 | 3209 | | |
3215 | 3210 | | |
3216 | | - | |
3217 | | - | |
3218 | | - | |
3219 | | - | |
3220 | 3211 | | |
3221 | 3212 | | |
3222 | 3213 | | |
| |||
0 commit comments