[dpdk-dev] [PATCH v2 3/5] vhost: handle memory hotplug with vDPA devices

Matan Azrad matan at mellanox.com
Thu Jun 25 15:38:16 CEST 2020


Some vDPA drivers' basic configurations should be updated when the
guest memory is hotplugged.

Close vDPA device before hotplug operation and recreate it after the
hotplug operation is done.

Signed-off-by: Matan Azrad <matan at mellanox.com>
---
 lib/librte_vhost/vhost_user.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index b90fc78..f690fdb 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1073,6 +1073,15 @@
 	}
 
 	if (dev->mem) {
+		if (dev->flags & VIRTIO_DEV_VDPA_CONFIGURED) {
+			int did = dev->vdpa_dev_id;
+			struct rte_vdpa_device *vdpa_dev =
+						rte_vdpa_get_device(did);
+
+			if (vdpa_dev && vdpa_dev->ops->dev_close)
+				vdpa_dev->ops->dev_close(dev->vid);
+			dev->flags &= ~VIRTIO_DEV_VDPA_CONFIGURED;
+		}
 		free_mem_region(dev);
 		rte_free(dev->mem);
 		dev->mem = NULL;
-- 
1.8.3.1



More information about the dev mailing list