* [PATCH v2 0/5] virtio-gpu: add blob migration support
@ 2023-09-07 13:09 marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 1/5] virtio-gpu: block migration of VMs with blob=true marcandre.lureau
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: marcandre.lureau @ 2023-09-07 13:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael S. Tsirkin, kraxel, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Hi,
This is a follow-up of the previous patch "[PATCH] virtio-gpu: block migration
of VMs with blob=true". Now that migration support is implemented, we can decide
to drop the migration blocker patch, or apply and revert it, so that
backporting of a quick fix is made easier.
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=2236353
Marc-André Lureau (5):
virtio-gpu: block migration of VMs with blob=true
virtio-gpu: factor out restore mapping
virtio-gpu: move scanout restoration to post_load
virtio-gpu: add virtio-gpu/blob vmstate subsection
Revert "virtio-gpu: block migration of VMs with blob=true"
hw/display/virtio-gpu.c | 174 +++++++++++++++++++++++++++++++++-------
1 file changed, 146 insertions(+), 28 deletions(-)
--
2.41.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/5] virtio-gpu: block migration of VMs with blob=true
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
@ 2023-09-07 13:09 ` marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 2/5] virtio-gpu: factor out restore mapping marcandre.lureau
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2023-09-07 13:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael S. Tsirkin, kraxel, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
"blob" resources don't have an associated pixman image:
#0 pixman_image_get_stride (image=0x0) at ../pixman/pixman-image.c:921
#1 0x0000562327c25236 in virtio_gpu_save (f=0x56232bb13b00, opaque=0x56232b555a60, size=0, field=0x5623289ab6c8 <__compound_literal.3+104>, vmdesc=0x56232ab59fe0) at ../hw/display/virtio-gpu.c:1225
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=2236353
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/display/virtio-gpu.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index bbd5c6561a..d6909bfa97 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -26,6 +26,7 @@
#include "hw/virtio/virtio-gpu-pixman.h"
#include "hw/virtio/virtio-bus.h"
#include "hw/qdev-properties.h"
+#include "migration/blocker.h"
#include "qemu/log.h"
#include "qemu/module.h"
#include "qapi/error.h"
@@ -44,6 +45,8 @@ static void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
struct virtio_gpu_simple_resource *res);
static void virtio_gpu_reset_bh(void *opaque);
+static Error *blob_mig_blocker;
+
void virtio_gpu_update_cursor_data(VirtIOGPU *g,
struct virtio_gpu_scanout *s,
uint32_t resource_id)
@@ -1374,6 +1377,14 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
error_setg(errp, "blobs and virgl are not compatible (yet)");
return;
}
+
+ if (!blob_mig_blocker) {
+ error_setg(&blob_mig_blocker,
+ "virtio-gpu blob VMs are currently not migratable.");
+ }
+ if (migrate_add_blocker(blob_mig_blocker, errp)) {
+ return;
+ }
}
if (!virtio_gpu_base_device_realize(qdev,
@@ -1400,6 +1411,9 @@ static void virtio_gpu_device_unrealize(DeviceState *qdev)
{
VirtIOGPU *g = VIRTIO_GPU(qdev);
+ if (virtio_gpu_blob_enabled(g->parent_obj.conf)) {
+ migrate_del_blocker(blob_mig_blocker);
+ }
g_clear_pointer(&g->ctrl_bh, qemu_bh_delete);
g_clear_pointer(&g->cursor_bh, qemu_bh_delete);
g_clear_pointer(&g->reset_bh, qemu_bh_delete);
--
2.41.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/5] virtio-gpu: factor out restore mapping
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 1/5] virtio-gpu: block migration of VMs with blob=true marcandre.lureau
@ 2023-09-07 13:09 ` marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 3/5] virtio-gpu: move scanout restoration to post_load marcandre.lureau
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2023-09-07 13:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael S. Tsirkin, kraxel, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
The same function is going to be used next to restore "blob" resources.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/display/virtio-gpu.c | 60 ++++++++++++++++++++++-------------------
1 file changed, 33 insertions(+), 27 deletions(-)
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index d6909bfa97..a58cb68f1c 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1237,6 +1237,35 @@ static int virtio_gpu_save(QEMUFile *f, void *opaque, size_t size,
return vmstate_save_state(f, &vmstate_virtio_gpu_scanouts, g, NULL);
}
+static bool virtio_gpu_load_restore_mapping(VirtIOGPU *g,
+ struct virtio_gpu_simple_resource *res)
+{
+ int i;
+
+ for (i = 0; i < res->iov_cnt; i++) {
+ hwaddr len = res->iov[i].iov_len;
+ res->iov[i].iov_base =
+ dma_memory_map(VIRTIO_DEVICE(g)->dma_as, res->addrs[i], &len,
+ DMA_DIRECTION_TO_DEVICE, MEMTXATTRS_UNSPECIFIED);
+
+ if (!res->iov[i].iov_base || len != res->iov[i].iov_len) {
+ /* Clean up the half-a-mapping we just created... */
+ if (res->iov[i].iov_base) {
+ dma_memory_unmap(VIRTIO_DEVICE(g)->dma_as, res->iov[i].iov_base,
+ len, DMA_DIRECTION_TO_DEVICE, 0);
+ }
+ /* ...and the mappings for previous loop iterations */
+ res->iov_cnt = i;
+ virtio_gpu_cleanup_mapping(g, res);
+ return false;
+ }
+ }
+
+ QTAILQ_INSERT_HEAD(&g->reslist, res, next);
+ g->hostmem += res->hostmem;
+ return true;
+}
+
static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
const VMStateField *field)
{
@@ -1299,35 +1328,12 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
qemu_get_buffer(f, (void *)pixman_image_get_data(res->image),
pixman_image_get_stride(res->image) * res->height);
- /* restore mapping */
- for (i = 0; i < res->iov_cnt; i++) {
- hwaddr len = res->iov[i].iov_len;
- res->iov[i].iov_base =
- dma_memory_map(VIRTIO_DEVICE(g)->dma_as, res->addrs[i], &len,
- DMA_DIRECTION_TO_DEVICE,
- MEMTXATTRS_UNSPECIFIED);
-
- if (!res->iov[i].iov_base || len != res->iov[i].iov_len) {
- /* Clean up the half-a-mapping we just created... */
- if (res->iov[i].iov_base) {
- dma_memory_unmap(VIRTIO_DEVICE(g)->dma_as,
- res->iov[i].iov_base,
- len,
- DMA_DIRECTION_TO_DEVICE,
- 0);
- }
- /* ...and the mappings for previous loop iterations */
- res->iov_cnt = i;
- virtio_gpu_cleanup_mapping(g, res);
- pixman_image_unref(res->image);
- g_free(res);
- return -EINVAL;
- }
+ if (!virtio_gpu_load_restore_mapping(g, res)) {
+ pixman_image_unref(res->image);
+ g_free(res);
+ return -EINVAL;
}
- QTAILQ_INSERT_HEAD(&g->reslist, res, next);
- g->hostmem += res->hostmem;
-
resource_id = qemu_get_be32(f);
}
--
2.41.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/5] virtio-gpu: move scanout restoration to post_load
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 1/5] virtio-gpu: block migration of VMs with blob=true marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 2/5] virtio-gpu: factor out restore mapping marcandre.lureau
@ 2023-09-07 13:09 ` marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 4/5] virtio-gpu: add virtio-gpu/blob vmstate subsection marcandre.lureau
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2023-09-07 13:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael S. Tsirkin, kraxel, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
As we are going to introduce an extra subsection for "blob" resources,
scanout have to be restored after.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/display/virtio-gpu.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index a58cb68f1c..6ebf98ca0e 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1271,7 +1271,6 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
{
VirtIOGPU *g = opaque;
struct virtio_gpu_simple_resource *res;
- struct virtio_gpu_scanout *scanout;
uint32_t resource_id, pformat;
void *bits = NULL;
int i;
@@ -1339,6 +1338,17 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
/* load & apply scanout state */
vmstate_load_state(f, &vmstate_virtio_gpu_scanouts, g, 1);
+
+ return 0;
+}
+
+static int virtio_gpu_post_load(void *opaque, int version_id)
+{
+ VirtIOGPU *g = opaque;
+ struct virtio_gpu_scanout *scanout;
+ struct virtio_gpu_simple_resource *res;
+ int i;
+
for (i = 0; i < g->parent_obj.conf.max_outputs; i++) {
/* FIXME: should take scanout.r.{x,y} into account */
scanout = &g->parent_obj.scanout[i];
@@ -1521,6 +1531,7 @@ static const VMStateDescription vmstate_virtio_gpu = {
} /* device */,
VMSTATE_END_OF_LIST()
},
+ .post_load = virtio_gpu_post_load,
};
static Property virtio_gpu_properties[] = {
--
2.41.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/5] virtio-gpu: add virtio-gpu/blob vmstate subsection
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
` (2 preceding siblings ...)
2023-09-07 13:09 ` [PATCH v2 3/5] virtio-gpu: move scanout restoration to post_load marcandre.lureau
@ 2023-09-07 13:09 ` marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 5/5] Revert "virtio-gpu: block migration of VMs with blob=true" marcandre.lureau
2023-09-19 12:51 ` [PATCH v2 0/5] virtio-gpu: add blob migration support Marc-André Lureau
5 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2023-09-07 13:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael S. Tsirkin, kraxel, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/display/virtio-gpu.c | 101 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 101 insertions(+)
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 6ebf98ca0e..63e60745f8 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1220,6 +1220,9 @@ static int virtio_gpu_save(QEMUFile *f, void *opaque, size_t size,
assert(QTAILQ_EMPTY(&g->cmdq));
QTAILQ_FOREACH(res, &g->reslist, next) {
+ if (res->blob_size) {
+ continue;
+ }
qemu_put_be32(f, res->resource_id);
qemu_put_be32(f, res->width);
qemu_put_be32(f, res->height);
@@ -1342,6 +1345,74 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size,
return 0;
}
+static int virtio_gpu_blob_save(QEMUFile *f, void *opaque, size_t size,
+ const VMStateField *field, JSONWriter *vmdesc)
+{
+ VirtIOGPU *g = opaque;
+ struct virtio_gpu_simple_resource *res;
+ int i;
+
+ /* in 2d mode we should never find unprocessed commands here */
+ assert(QTAILQ_EMPTY(&g->cmdq));
+
+ QTAILQ_FOREACH(res, &g->reslist, next) {
+ if (!res->blob_size) {
+ continue;
+ }
+ qemu_put_be32(f, res->resource_id);
+ qemu_put_be32(f, res->blob_size);
+ qemu_put_be32(f, res->iov_cnt);
+ for (i = 0; i < res->iov_cnt; i++) {
+ qemu_put_be64(f, res->addrs[i]);
+ qemu_put_be32(f, res->iov[i].iov_len);
+ }
+ }
+ qemu_put_be32(f, 0); /* end of list */
+
+ return 0;
+}
+
+static int virtio_gpu_blob_load(QEMUFile *f, void *opaque, size_t size,
+ const VMStateField *field)
+{
+ VirtIOGPU *g = opaque;
+ struct virtio_gpu_simple_resource *res;
+ uint32_t resource_id;
+ int i;
+
+ resource_id = qemu_get_be32(f);
+ while (resource_id != 0) {
+ res = virtio_gpu_find_resource(g, resource_id);
+ if (res) {
+ return -EINVAL;
+ }
+
+ res = g_new0(struct virtio_gpu_simple_resource, 1);
+ res->resource_id = resource_id;
+ res->blob_size = qemu_get_be32(f);
+ res->iov_cnt = qemu_get_be32(f);
+ res->addrs = g_new(uint64_t, res->iov_cnt);
+ res->iov = g_new(struct iovec, res->iov_cnt);
+
+ /* read data */
+ for (i = 0; i < res->iov_cnt; i++) {
+ res->addrs[i] = qemu_get_be64(f);
+ res->iov[i].iov_len = qemu_get_be32(f);
+ }
+
+ if (!virtio_gpu_load_restore_mapping(g, res)) {
+ g_free(res);
+ return -EINVAL;
+ }
+
+ virtio_gpu_init_udmabuf(res);
+
+ resource_id = qemu_get_be32(f);
+ }
+
+ return 0;
+}
+
static int virtio_gpu_post_load(void *opaque, int version_id)
{
VirtIOGPU *g = opaque;
@@ -1506,6 +1577,32 @@ virtio_gpu_set_config(VirtIODevice *vdev, const uint8_t *config)
}
}
+static bool virtio_gpu_blob_state_needed(void *opaque)
+{
+ VirtIOGPU *g = VIRTIO_GPU(opaque);
+
+ return virtio_gpu_blob_enabled(g->parent_obj.conf);
+}
+
+const VMStateDescription vmstate_virtio_gpu_blob_state = {
+ .name = "virtio-gpu/blob",
+ .minimum_version_id = VIRTIO_GPU_VM_VERSION,
+ .version_id = VIRTIO_GPU_VM_VERSION,
+ .needed = virtio_gpu_blob_state_needed,
+ .fields = (VMStateField[]){
+ {
+ .name = "virtio-gpu/blob",
+ .info = &(const VMStateInfo) {
+ .name = "blob",
+ .get = virtio_gpu_blob_load,
+ .put = virtio_gpu_blob_save,
+ },
+ .flags = VMS_SINGLE,
+ } /* device */,
+ VMSTATE_END_OF_LIST()
+ },
+};
+
/*
* For historical reasons virtio_gpu does not adhere to virtio migration
* scheme as described in doc/virtio-migration.txt, in a sense that no
@@ -1531,6 +1628,10 @@ static const VMStateDescription vmstate_virtio_gpu = {
} /* device */,
VMSTATE_END_OF_LIST()
},
+ .subsections = (const VMStateDescription*[]) {
+ &vmstate_virtio_gpu_blob_state,
+ NULL
+ },
.post_load = virtio_gpu_post_load,
};
--
2.41.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 5/5] Revert "virtio-gpu: block migration of VMs with blob=true"
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
` (3 preceding siblings ...)
2023-09-07 13:09 ` [PATCH v2 4/5] virtio-gpu: add virtio-gpu/blob vmstate subsection marcandre.lureau
@ 2023-09-07 13:09 ` marcandre.lureau
2023-09-19 12:51 ` [PATCH v2 0/5] virtio-gpu: add blob migration support Marc-André Lureau
5 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2023-09-07 13:09 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael S. Tsirkin, kraxel, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
If we decide to apply this patch (for easier backporting reasons), we
can now revert it.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/display/virtio-gpu.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 63e60745f8..206b759a9c 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -26,7 +26,6 @@
#include "hw/virtio/virtio-gpu-pixman.h"
#include "hw/virtio/virtio-bus.h"
#include "hw/qdev-properties.h"
-#include "migration/blocker.h"
#include "qemu/log.h"
#include "qemu/module.h"
#include "qapi/error.h"
@@ -45,8 +44,6 @@ static void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
struct virtio_gpu_simple_resource *res);
static void virtio_gpu_reset_bh(void *opaque);
-static Error *blob_mig_blocker;
-
void virtio_gpu_update_cursor_data(VirtIOGPU *g,
struct virtio_gpu_scanout *s,
uint32_t resource_id)
@@ -1464,14 +1461,6 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
error_setg(errp, "blobs and virgl are not compatible (yet)");
return;
}
-
- if (!blob_mig_blocker) {
- error_setg(&blob_mig_blocker,
- "virtio-gpu blob VMs are currently not migratable.");
- }
- if (migrate_add_blocker(blob_mig_blocker, errp)) {
- return;
- }
}
if (!virtio_gpu_base_device_realize(qdev,
@@ -1498,9 +1487,6 @@ static void virtio_gpu_device_unrealize(DeviceState *qdev)
{
VirtIOGPU *g = VIRTIO_GPU(qdev);
- if (virtio_gpu_blob_enabled(g->parent_obj.conf)) {
- migrate_del_blocker(blob_mig_blocker);
- }
g_clear_pointer(&g->ctrl_bh, qemu_bh_delete);
g_clear_pointer(&g->cursor_bh, qemu_bh_delete);
g_clear_pointer(&g->reset_bh, qemu_bh_delete);
--
2.41.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] virtio-gpu: add blob migration support
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
` (4 preceding siblings ...)
2023-09-07 13:09 ` [PATCH v2 5/5] Revert "virtio-gpu: block migration of VMs with blob=true" marcandre.lureau
@ 2023-09-19 12:51 ` Marc-André Lureau
2023-09-19 15:09 ` Peter Xu
5 siblings, 1 reply; 10+ messages in thread
From: Marc-André Lureau @ 2023-09-19 12:51 UTC (permalink / raw)
To: qemu-devel
Cc: Michael S. Tsirkin, kraxel, Juan Quintela, Peter Xu,
Leonardo Bras Soares Passos
Hi
On Thu, Sep 7, 2023 at 5:15 PM <marcandre.lureau@redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Hi,
>
> This is a follow-up of the previous patch "[PATCH] virtio-gpu: block migration
> of VMs with blob=true". Now that migration support is implemented, we can decide
> to drop the migration blocker patch, or apply and revert it, so that
> backporting of a quick fix is made easier.
>
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=2236353
>
> Marc-André Lureau (5):
> virtio-gpu: block migration of VMs with blob=true
> virtio-gpu: factor out restore mapping
> virtio-gpu: move scanout restoration to post_load
> virtio-gpu: add virtio-gpu/blob vmstate subsection
> Revert "virtio-gpu: block migration of VMs with blob=true"
>
> hw/display/virtio-gpu.c | 174 +++++++++++++++++++++++++++++++++-------
> 1 file changed, 146 insertions(+), 28 deletions(-)
>
> --
> 2.41.0
>
ping
--
Marc-André Lureau
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] virtio-gpu: add blob migration support
2023-09-19 12:51 ` [PATCH v2 0/5] virtio-gpu: add blob migration support Marc-André Lureau
@ 2023-09-19 15:09 ` Peter Xu
2023-11-06 10:44 ` Marc-André Lureau
0 siblings, 1 reply; 10+ messages in thread
From: Peter Xu @ 2023-09-19 15:09 UTC (permalink / raw)
To: Marc-André Lureau
Cc: qemu-devel, Michael S. Tsirkin, kraxel, Juan Quintela,
Leonardo Bras Soares Passos
On Tue, Sep 19, 2023 at 04:51:21PM +0400, Marc-André Lureau wrote:
> Hi
>
> On Thu, Sep 7, 2023 at 5:15 PM <marcandre.lureau@redhat.com> wrote:
> >
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Hi,
> >
> > This is a follow-up of the previous patch "[PATCH] virtio-gpu: block migration
> > of VMs with blob=true". Now that migration support is implemented, we can decide
> > to drop the migration blocker patch, or apply and revert it, so that
> > backporting of a quick fix is made easier.
> >
> > Fixes:
> > https://bugzilla.redhat.com/show_bug.cgi?id=2236353
> >
> > Marc-André Lureau (5):
> > virtio-gpu: block migration of VMs with blob=true
> > virtio-gpu: factor out restore mapping
> > virtio-gpu: move scanout restoration to post_load
> > virtio-gpu: add virtio-gpu/blob vmstate subsection
> > Revert "virtio-gpu: block migration of VMs with blob=true"
> >
> > hw/display/virtio-gpu.c | 174 +++++++++++++++++++++++++++++++++-------
> > 1 file changed, 146 insertions(+), 28 deletions(-)
For migration:
Acked-by: Peter Xu <peterx@redhat.com>
--
Peter Xu
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] virtio-gpu: add blob migration support
2023-09-19 15:09 ` Peter Xu
@ 2023-11-06 10:44 ` Marc-André Lureau
2023-11-07 12:21 ` Laszlo Ersek
0 siblings, 1 reply; 10+ messages in thread
From: Marc-André Lureau @ 2023-11-06 10:44 UTC (permalink / raw)
To: Peter Xu
Cc: qemu-devel, Michael S. Tsirkin, kraxel, Juan Quintela,
Leonardo Bras Soares Passos, Laszlo Ersek
Hi
On Tue, Sep 19, 2023 at 7:09 PM Peter Xu <peterx@redhat.com> wrote:
>
> On Tue, Sep 19, 2023 at 04:51:21PM +0400, Marc-André Lureau wrote:
> > Hi
> >
> > On Thu, Sep 7, 2023 at 5:15 PM <marcandre.lureau@redhat.com> wrote:
> > >
> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> > >
> > > Hi,
> > >
> > > This is a follow-up of the previous patch "[PATCH] virtio-gpu: block migration
> > > of VMs with blob=true". Now that migration support is implemented, we can decide
> > > to drop the migration blocker patch, or apply and revert it, so that
> > > backporting of a quick fix is made easier.
> > >
> > > Fixes:
> > > https://bugzilla.redhat.com/show_bug.cgi?id=2236353
> > >
> > > Marc-André Lureau (5):
> > > virtio-gpu: block migration of VMs with blob=true
> > > virtio-gpu: factor out restore mapping
> > > virtio-gpu: move scanout restoration to post_load
> > > virtio-gpu: add virtio-gpu/blob vmstate subsection
> > > Revert "virtio-gpu: block migration of VMs with blob=true"
> > >
> > > hw/display/virtio-gpu.c | 174 +++++++++++++++++++++++++++++++++-------
> > > 1 file changed, 146 insertions(+), 28 deletions(-)
>
> For migration:
>
> Acked-by: Peter Xu <peterx@redhat.com>
>
Anyone else to check this series? Laszlo perhaps?
Or should I just send it as part of the next gpu-stuff PR?
thanks
--
Marc-André Lureau
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] virtio-gpu: add blob migration support
2023-11-06 10:44 ` Marc-André Lureau
@ 2023-11-07 12:21 ` Laszlo Ersek
0 siblings, 0 replies; 10+ messages in thread
From: Laszlo Ersek @ 2023-11-07 12:21 UTC (permalink / raw)
To: Marc-André Lureau, Peter Xu
Cc: qemu-devel, Michael S. Tsirkin, kraxel, Juan Quintela,
Leonardo Bras Soares Passos
On 11/6/23 11:44, Marc-André Lureau wrote:
> Hi
>
> On Tue, Sep 19, 2023 at 7:09 PM Peter Xu <peterx@redhat.com> wrote:
>>
>> On Tue, Sep 19, 2023 at 04:51:21PM +0400, Marc-André Lureau wrote:
>>> Hi
>>>
>>> On Thu, Sep 7, 2023 at 5:15 PM <marcandre.lureau@redhat.com> wrote:
>>>>
>>>> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>>>>
>>>> Hi,
>>>>
>>>> This is a follow-up of the previous patch "[PATCH] virtio-gpu: block migration
>>>> of VMs with blob=true". Now that migration support is implemented, we can decide
>>>> to drop the migration blocker patch, or apply and revert it, so that
>>>> backporting of a quick fix is made easier.
>>>>
>>>> Fixes:
>>>> https://bugzilla.redhat.com/show_bug.cgi?id=2236353
>>>>
>>>> Marc-André Lureau (5):
>>>> virtio-gpu: block migration of VMs with blob=true
>>>> virtio-gpu: factor out restore mapping
>>>> virtio-gpu: move scanout restoration to post_load
>>>> virtio-gpu: add virtio-gpu/blob vmstate subsection
>>>> Revert "virtio-gpu: block migration of VMs with blob=true"
>>>>
>>>> hw/display/virtio-gpu.c | 174 +++++++++++++++++++++++++++++++++-------
>>>> 1 file changed, 146 insertions(+), 28 deletions(-)
>>
>> For migration:
>>
>> Acked-by: Peter Xu <peterx@redhat.com>
>>
>
> Anyone else to check this series? Laszlo perhaps?
Sorry, I don't have the patches, plus I'm already loaded with other
reviews elsehwere :/
> Or should I just send it as part of the next gpu-stuff PR?
You appear to have an ACK from Peter; I'd say run with it. Gerd is on CC
so I'm comfortable saying this.
Laszlo
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-11-07 12:23 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-07 13:09 [PATCH v2 0/5] virtio-gpu: add blob migration support marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 1/5] virtio-gpu: block migration of VMs with blob=true marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 2/5] virtio-gpu: factor out restore mapping marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 3/5] virtio-gpu: move scanout restoration to post_load marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 4/5] virtio-gpu: add virtio-gpu/blob vmstate subsection marcandre.lureau
2023-09-07 13:09 ` [PATCH v2 5/5] Revert "virtio-gpu: block migration of VMs with blob=true" marcandre.lureau
2023-09-19 12:51 ` [PATCH v2 0/5] virtio-gpu: add blob migration support Marc-André Lureau
2023-09-19 15:09 ` Peter Xu
2023-11-06 10:44 ` Marc-André Lureau
2023-11-07 12:21 ` Laszlo Ersek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).