Re: [PATCH net] vhost: correctly check the iova range when waking virtqueue

From: Peter Xu
Date: Fri Aug 24 2018 - 05:36:46 EST


On Fri, Aug 24, 2018 at 04:53:13PM +0800, Jason Wang wrote:
> We don't wakeup the virtqueue if the first byte of pending iova range
> is the last byte of the range we just got updated. This will lead a
> virtqueue to wait for IOTLB updating forever. Fixing by correct the
> check and wake up the virtqueue in this case.
>
> Fixes: 6b1e6cc7855b ("vhost: new device IOTLB API")
> Reported-by: Peter Xu <peterx@xxxxxxxxxx>
> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>

Without this patch, this command will trigger the IO hang merely every
time from host to guest:

netperf -H 1.2.3.4 -l 5 -t TCP_RR -- -b 100

After applying, I can run it 10 times continuously without a problem.

Reviewed-by: Peter Xu <peterx@xxxxxxxxxx>
Tested-by: Peter Xu <peterx@xxxxxxxxxx>

Thanks,

--
Peter Xu