numam-dpdk/drivers/vdpa/mlx5
Matan Azrad d76a17f7b8 vdpa/mlx5: fix guest notification timing
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: 8395927cdf ("vdpa/mlx5: prepare HW queues")

Signed-off-by: Matan Azrad <matan@mellanox.com>
2020-02-25 10:48:04 +01:00
..
Makefile vdpa/mlx5: disable RoCE 2020-02-05 09:51:21 +01:00
meson.build vdpa/mlx5: disable RoCE 2020-02-05 09:51:21 +01:00
mlx5_vdpa_event.c vdpa/mlx5: fix guest notification timing 2020-02-25 10:48:04 +01:00
mlx5_vdpa_lm.c vdpa/mlx5: support live migration 2020-02-05 09:51:21 +01:00
mlx5_vdpa_mem.c vdpa/mlx5: prepare memory regions 2020-02-05 09:51:21 +01:00
mlx5_vdpa_steer.c vdpa/mlx5: support queue state operation 2020-02-05 09:51:21 +01:00
mlx5_vdpa_utils.h vdpa/mlx5: introduce Mellanox vDPA driver 2020-02-05 09:51:21 +01:00
mlx5_vdpa_virtq.c vdpa/mlx5: support live migration 2020-02-05 09:51:21 +01:00
mlx5_vdpa.c net/mlx5: add BlueField-2 device ID 2020-02-19 13:51:06 +01:00
mlx5_vdpa.h vdpa/mlx5: fix guest notification timing 2020-02-25 10:48:04 +01:00
rte_pmd_mlx5_vdpa_version.map vdpa/mlx5: fix ABI version 2020-02-12 09:26:43 +01:00