Thread (59 messages) 59 messages, 4 authors, 2020-07-17

[dpdk-dev] [PATCH v3 4/6] vhost: handle memory hotplug with vDPA devices

From: Matan Azrad <hidden>
Date: 2020-06-29 14:09:17
Subsystem: library code, the rest · Maintainers: Andrew Morton, Linus Torvalds

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 <redacted>
Reviewed-by: Maxime Coquelin <redacted>
Reviewed-by: Chenbo Xia <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help