[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/13] vdpa: block migration if device has unsupported features
From: |
Eugenio Pérez |
Subject: |
[PATCH 10/13] vdpa: block migration if device has unsupported features |
Date: |
Fri, 3 Feb 2023 20:11:39 +0100 |
A vdpa net device must initialize with SVQ in order to be migratable at
this moment, and initialization code verifies some conditions. If the
device is not initialized with the x-svq parameter, it will not expose
_F_LOG so the vhost subsystem will block VM migration from its
initialization.
Next patches change this, so we need to verify migration conditions
differently.
QEMU only supports a subset of net features in SVQ, and it cannot
migrate state that cannot track or restore in the destination. Add a
migration blocker if the device offer an unsupported feature.
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
net/vhost-vdpa.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 309861e56c..a0c4d5de2c 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -952,6 +952,15 @@ int net_init_vhost_vdpa(const Netdev *netdev, const char
*name,
iova_range);
if (!ncs[i])
goto err;
+
+ if (i == 0) {
+ VhostVDPAState *s = DO_UPCAST(VhostVDPAState, nc, ncs[0]);
+
+ if (!s->vhost_vdpa.dev->migration_blocker) {
+ vhost_vdpa_net_valid_svq_features(features,
+ &s->vhost_vdpa.dev->migration_blocker);
+ }
+ }
}
if (has_cvq) {
--
2.31.1
- [PATCH 00/13] Dynamycally switch to vhost shadow virtqueues at vdpa net migration, Eugenio Pérez, 2023/02/03
- [PATCH 05/13] vdpa: rewind at get_base, not set_base, Eugenio Pérez, 2023/02/03
- [PATCH 03/13] vdpa: add vhost_vdpa_suspend, Eugenio Pérez, 2023/02/03
- [PATCH 06/13] vdpa net: allow VHOST_F_LOG_ALL, Eugenio Pérez, 2023/02/03
- [PATCH 07/13] vdpa: add vdpa net migration state notifier, Eugenio Pérez, 2023/02/03
- [PATCH 02/13] vdpa: Negotiate _F_SUSPEND feature, Eugenio Pérez, 2023/02/03
- [PATCH 04/13] vdpa: move vhost reset after get vring base, Eugenio Pérez, 2023/02/03
- [PATCH 08/13] vdpa: disable RAM block discard only for the first device, Eugenio Pérez, 2023/02/03
- [PATCH 09/13] vdpa net: block migration if the device has CVQ, Eugenio Pérez, 2023/02/03
- [PATCH 01/13] vdpa net: move iova tree creation from init to start, Eugenio Pérez, 2023/02/03
- [PATCH 10/13] vdpa: block migration if device has unsupported features,
Eugenio Pérez <=
- [PATCH 11/13] vdpa: block migration if dev does not have _F_SUSPEND, Eugenio Pérez, 2023/02/03
- [PATCH 13/13] vdpa: return VHOST_F_LOG_ALL in vhost-vdpa devices, Eugenio Pérez, 2023/02/03
- [PATCH 12/13] vdpa: block migration if SVQ does not admit a feature, Eugenio Pérez, 2023/02/03