diff options
author | Chegu Vinod <chegu_vinod@hp.com> | 2013-06-24 03:47:39 -0600 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2013-07-12 20:35:08 +0200 |
commit | 7ca1dfad952d8a8655b32e78623edcc38a51b14a (patch) | |
tree | 6c92a7e3a858dded03d28da2e095703722243c55 /trace-events | |
parent | bde1e2ec2176c363c1783bf8887b6b1beb08dfee (diff) |
Force auto-convegence of live migration
If a user chooses to turn on the auto-converge migration capability
these changes detect the lack of convergence and throttle down the
guest. i.e. force the VCPUs out of the guest for some duration
and let the migration thread catchup and help converge.
Verified the convergence using the following :
- Java Warehouse workload running on a 20VCPU/256G guest(~80% busy)
- OLTP like workload running on a 80VCPU/512G guest (~80% busy)
Sample results with Java warehouse workload : (migrate speed set to 20Gb and
migrate downtime set to 4seconds).
(qemu) info migrate
capabilities: xbzrle: off auto-converge: off <----
Migration status: active
total time: 1487503 milliseconds
expected downtime: 519 milliseconds
transferred ram: 383749347 kbytes
remaining ram: 2753372 kbytes
total ram: 268444224 kbytes
duplicate: 65461532 pages
skipped: 64901568 pages
normal: 95750218 pages
normal bytes: 383000872 kbytes
dirty pages rate: 67551 pages
---
(qemu) info migrate
capabilities: xbzrle: off auto-converge: on <----
Migration status: completed
total time: 241161 milliseconds
downtime: 6373 milliseconds
transferred ram: 28235307 kbytes
remaining ram: 0 kbytes
total ram: 268444224 kbytes
duplicate: 64946416 pages
skipped: 64903523 pages
normal: 7044971 pages
normal bytes: 28179884 kbytes
Signed-off-by: Chegu Vinod <chegu_vinod@hp.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'trace-events')
-rw-r--r-- | trace-events | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/trace-events b/trace-events index 0acce7b350..7f6d9625a7 100644 --- a/trace-events +++ b/trace-events @@ -1036,6 +1036,7 @@ savevm_section_end(unsigned int section_id) "section_id %u" # arch_init.c migration_bitmap_sync_start(void) "" migration_bitmap_sync_end(uint64_t dirty_pages) "dirty_pages %" PRIu64"" +migration_throttle(void) "" # hw/qxl.c disable qxl_interface_set_mm_time(int qid, uint32_t mm_time) "%d %d" |