OSDN Git Service

vdpa/mlx5: Add multiqueue support
authorEli Cohen <elic@nvidia.com>
Mon, 23 Aug 2021 05:21:23 +0000 (08:21 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 5 Sep 2021 20:23:08 +0000 (16:23 -0400)
commit52893733f2c5886fc74be6c386d12b59a3f581df
tree079b22e165ce88ed480d58070c3f2315da0fd86a
parent5262912ef3cfc5e518892c3d67fb36412cb813e2
vdpa/mlx5: Add multiqueue support

Multiqueue support requires additional virtio_net_q objects to be added
or removed per the configured number of queue pairs. In addition the RQ
tables needs to be modified to match the number of configured receive
queues so the packets are dispatched to the right virtqueue according to
the hash result.

Note: qemu v6.0.0 is broken when the device requests more than two data
queues; no net device will be created for the vdpa device. To avoid
this, one should specify mq=off to qemu. In this case it will end up
with a single queue.

Signed-off-by: Eli Cohen <elic@nvidia.com>
Link: https://lore.kernel.org/r/20210823052123.14909-7-elic@nvidia.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/mlx5/core/mlx5_vdpa.h
drivers/vdpa/mlx5/core/resources.c
drivers/vdpa/mlx5/net/mlx5_vnet.c