[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 16/17] migration: adjust migration_thread() process
From: |
Lei Li |
Subject: |
[Qemu-devel] [PATCH 16/17] migration: adjust migration_thread() process for page flipping |
Date: |
Tue, 22 Oct 2013 11:25:40 +0800 |
Signed-off-by: Lei Li <address@hidden>
---
migration.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/migration.c b/migration.c
index 4ac466b..568b73a 100644
--- a/migration.c
+++ b/migration.c
@@ -579,10 +579,11 @@ static void *migration_thread(void *opaque)
pending_size = qemu_savevm_state_pending(s->file, max_size);
DPRINTF("pending size %" PRIu64 " max %" PRIu64 "\n",
pending_size, max_size);
- if (pending_size && pending_size >= max_size) {
+ if (pending_size && pending_size >= max_size &&
+ !migrate_unix_page_flipping()) {
qemu_savevm_state_iterate(s->file);
} else {
- int ret;
+ int ret = 0;
DPRINTF("done iterating\n");
qemu_mutex_lock_iothread();
@@ -590,7 +591,10 @@ static void *migration_thread(void *opaque)
qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER);
old_vm_running = runstate_is_running();
- ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
+ if (!runstate_needs_reset()) {
+ ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
+ }
+
if (ret >= 0) {
qemu_file_set_rate_limit(s->file, INT_MAX);
qemu_savevm_state_complete(s->file);
--
1.7.7.6
Re: [Qemu-devel] [PATCH 14/17] add new RanState RAN_STATE_FLIPPING_MIGRATE, Paolo Bonzini, 2013/10/24
[Qemu-devel] [PATCH 15/17] migration-unix: page flipping support on unix outgoing, Lei Li, 2013/10/21
[Qemu-devel] [PATCH 16/17] migration: adjust migration_thread() process for page flipping,
Lei Li <=
[Qemu-devel] [PATCH 17/17] hmp: better format for info migrate_capabilities, Lei Li, 2013/10/21
Re: [Qemu-devel] [PATCH 0/17 v2] Localhost migration with side channel for ram, Paolo Bonzini, 2013/10/24