Skip to content
Commit 7a4c003d authored by Ronak Doshi's avatar Ronak Doshi Committed by David S. Miller
Browse files

vmxnet3: avoid xmit reset due to a race in vmxnet3



The field txNumDeferred is used by the driver to keep track of the number
of packets it has pushed to the emulation. The driver increments it on
pushing the packet to the emulation and the emulation resets it to 0 at
the end of the transmit.

There is a possibility of a race either when (a) ESX is under heavy load or
(b) workload inside VM is of low packet rate.

This race results in xmit hangs when network coalescing is disabled. This
change creates a local copy of txNumDeferred and uses it to perform ring
arithmetic.

Reported-by: default avatarNoriho Tanaka <ntanaka@vmware.com>
Signed-off-by: default avatarRonak Doshi <doshir@vmware.com>
Acked-by: default avatarShrikrishna Khare <skhare@vmware.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 78f1b04f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment