Re: [PATCH v2 net 1/2] vmxnet3: avoid xmit reset due to a race in vmxnet3

From: David Miller
Date: Sat Mar 17 2018 - 20:05:21 EST


From: Ronak Doshi <doshir@xxxxxxxxxx>
Date: Fri, 16 Mar 2018 14:47:54 -0700

> 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: Noriho Tanaka <ntanaka@xxxxxxxxxx>
> Signed-off-by: Ronak Doshi <doshir@xxxxxxxxxx>
> Acked-by: Shrikrishna Khare <skhare@xxxxxxxxxx>

Applied.