[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 2/6] migration: Fix missing qemu_fflush() on buffer file in bg_mig
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[PULL 2/6] migration: Fix missing qemu_fflush() on buffer file in bg_migration_thread |
Date: |
Wed, 7 Apr 2021 18:54:12 +0100 |
From: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>
Added missing qemu_fflush() on buffer file holding precopy device state.
Increased initial QIOChannelBuffer allocation to 512KB to avoid reallocs.
Typical configurations often require >200KB for device state and VMDESC.
Fixes: 8518278a6af589ccc401f06e35f171b1e6fae800 (migration: implementation
of background snapshot thread)
Signed-off-by: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>
Message-Id: <20210401092226.102804-2-andrey.gruzdev@virtuozzo.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
migration/migration.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index ca8b97baa5..00e13f9d58 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -3812,7 +3812,7 @@ static void *bg_migration_thread(void *opaque)
* with vCPUs running and, finally, write stashed non-RAM part of
* the vmstate from the buffer to the migration stream.
*/
- s->bioc = qio_channel_buffer_new(128 * 1024);
+ s->bioc = qio_channel_buffer_new(512 * 1024);
qio_channel_set_name(QIO_CHANNEL(s->bioc), "vmstate-buffer");
fb = qemu_fopen_channel_output(QIO_CHANNEL(s->bioc));
object_unref(OBJECT(s->bioc));
@@ -3866,6 +3866,12 @@ static void *bg_migration_thread(void *opaque)
if (qemu_savevm_state_complete_precopy_non_iterable(fb, false, false)) {
goto fail;
}
+ /*
+ * Since we are going to get non-iterable state data directly
+ * from s->bioc->data, explicit flush is needed here.
+ */
+ qemu_fflush(fb);
+
/* Now initialize UFFD context and start tracking RAM writes */
if (ram_write_tracking_start()) {
goto fail;
--
2.31.1
- [PULL 0/6] V2 migration + virtiofsd queue, Dr. David Alan Gilbert (git), 2021/04/07
- [PULL 1/6] virtiofsd: Fix security.capability comparison, Dr. David Alan Gilbert (git), 2021/04/07
- [PULL 2/6] migration: Fix missing qemu_fflush() on buffer file in bg_migration_thread,
Dr. David Alan Gilbert (git) <=
- [PULL 3/6] migration: Inhibit virtio-balloon for the duration of background snapshot, Dr. David Alan Gilbert (git), 2021/04/07
- [PULL 5/6] migration: Rename 'bs' to 'block' in background snapshot code, Dr. David Alan Gilbert (git), 2021/04/07
- [PULL 4/6] migration: Pre-fault memory before starting background snasphot, Dr. David Alan Gilbert (git), 2021/04/07
- [PULL 6/6] tests/migration: fix parameter of auto-converge migration, Dr. David Alan Gilbert (git), 2021/04/07
- Re: [PULL 0/6] V2 migration + virtiofsd queue, Peter Maydell, 2021/04/08