net/virtio: fix memory init with vDPA backend
authorMaxime Coquelin <maxime.coquelin@redhat.com>
Fri, 8 Jan 2021 09:41:49 +0000 (10:41 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 13 Jan 2021 17:51:58 +0000 (18:51 +0100)
commita121f175722f7b717cb7576c5baff1c20dd3920e
treeac074d2716ef93efeb7cdce3d02977ae4cb8a33a
parent35a6630e2b51b872cfbaf19459888045750592fd
net/virtio: fix memory init with vDPA backend

This patch fixes an overhead met with mlx5-vdpa Kernel
driver, where for every page in the mapped area, all the
memory tables gets updated. For example, with 2MB hugepages,
a single IOTLB_UPDATE for a 1GB region causes 512 memory
updates on mlx5-vdpa side.

Using batching mode, the mlx5 driver will only trigger a
single memory update for all the IOTLB updates that happen
between the batch begin and batch end commands.

Fixes: 6b901437056e ("net/virtio: introduce vhost-vDPA backend")
Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
drivers/net/virtio/virtio_user/vhost.h
drivers/net/virtio/virtio_user/vhost_vdpa.c
drivers/net/virtio/virtio_user/virtio_user_dev.c