[dpdk-dev] [PATCH 1/2] vdpa/mlx5: fix guest notification timing

Thomas Monjalon thomas at monjalon.net
Tue Feb 25 10:47:36 CET 2020


24/02/2020 17:55, Matan Azrad:
> When the HW finishes to consume the guest Rx descriptors, it creates a
> CQE in the CQ.
> 
> The mlx5 driver arms the CQ to get notifications when a specific CQE
> index is created - the index to be armed is the next CQE index which
> should be polled by the driver.
> 
> The mlx5 driver configured the kernel driver to send notification to the
> guest callfd in the same time it arrives to the mlx5 driver.
> 
> It means that the guest was notified only for each first CQE in a poll
> cycle, so if the driver polled CQEs of all the virtio queue available
> descriptors, the guest was not notified again for the rest because
> there was no any new cycle for polling.
> 
> Hence, the Rx queues might be stuck when the guest didn't work with
> poll mode.
> 
> Move the guest notification to be after the driver consumes all the
> SW own CQEs.
> By this way, guest will be notified only after all the SW CQEs are
> polled.
> 
> Also init the CQ to be with HW owner in the start.
> 
> Fixes: 8395927cdfaf ("vdpa/mlx5: prepare HW queues")
> 
> Signed-off-by: Matan Azrad <matan at mellanox.com>

Applied, thanks
Note: there is no regression risk because it is fixing a new driver.





More information about the dev mailing list