[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 2/6] migration: do not transfer ram during bulk stora
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PULL 2/6] migration: do not transfer ram during bulk storage migration |
Date: |
Fri, 9 Mar 2018 17:54:49 +0000 |
From: Peter Lieven <address@hidden>
this patch makes the bulk phase of a block migration to take
place before we start transferring ram. As the bulk block migration
can take a long time its pointless to transfer ram during that phase.
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
migration/ram.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/migration/ram.c b/migration/ram.c
index 3b6c077964..7266351fd0 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2258,6 +2258,13 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
int64_t t0;
int done = 0;
+ if (blk_mig_bulk_active()) {
+ /* Avoid transferring ram during bulk phase of block migration as
+ * the bulk phase will usually take a long time and transferring
+ * ram updates during that time is pointless. */
+ goto out;
+ }
+
rcu_read_lock();
if (ram_list.version != rs->last_version) {
ram_state_reset(rs);
@@ -2304,6 +2311,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
*/
ram_control_after_iterate(f, RAM_CONTROL_ROUND);
+out:
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
ram_counters.transferred += 8;
--
2.14.3
- [Qemu-devel] [PULL 0/6] migration queue, Dr. David Alan Gilbert (git), 2018/03/09
- [Qemu-devel] [PULL 1/6] migration: fix minor finalize leak, Dr. David Alan Gilbert (git), 2018/03/09
- [Qemu-devel] [PULL 2/6] migration: do not transfer ram during bulk storage migration,
Dr. David Alan Gilbert (git) <=
- [Qemu-devel] [PULL 5/6] migration: fix applying wrong capabilities, Dr. David Alan Gilbert (git), 2018/03/09
- [Qemu-devel] [PULL 3/6] migration/block: reset dirty bitmap before read in bulk phase, Dr. David Alan Gilbert (git), 2018/03/09
- [Qemu-devel] [PULL 4/6] migration/block: rename MAX_INFLIGHT_IO to MAX_IO_BUFFERS, Dr. David Alan Gilbert (git), 2018/03/09
- [Qemu-devel] [PULL 6/6] tests: Silence migration-test 'bad' test, Dr. David Alan Gilbert (git), 2018/03/09
- Re: [Qemu-devel] [PULL 0/6] migration queue, Peter Maydell, 2018/03/12