Commit 4addcd4f authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Amit Shah
Browse files

Migration: Emit event at start of pass



Emit an event each time we sync the dirty bitmap on the source;
this helps libvirt use postcopy by giving it a kick when it
might be a good idea to start the postcopy.

Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarAmit Shah <amit.shah@redhat.com>
Message-Id: <1450266458-3178-5-git-send-email-dgilbert@redhat.com>
Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
parent 6ba996bb
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -496,6 +496,20 @@ Example:
{"timestamp": {"seconds": 1432121972, "microseconds": 744001},
 "event": "MIGRATION", "data": {"status": "completed"}}

MIGRATION_PASS
--------------

Emitted from the source side of a migration at the start of each pass
(when it syncs the dirty bitmap)

Data: None.

  - "pass": An incrementing count (starting at 1 on the first pass)

Example:
{"timestamp": {"seconds": 1449669631, "microseconds": 239225},
 "event": "MIGRATION_PASS", "data": {"pass": 2}}

STOP
----

+4 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
 */
#include <stdint.h>
#include <zlib.h>
#include "qapi-event.h"
#include "qemu/bitops.h"
#include "qemu/bitmap.h"
#include "qemu/timer.h"
@@ -682,6 +683,9 @@ static void migration_bitmap_sync(void)
        num_dirty_pages_period = 0;
    }
    s->dirty_sync_count = bitmap_sync_count;
    if (migrate_use_events()) {
        qapi_event_send_migration_pass(bitmap_sync_count, NULL);
    }
}

/**
+13 −0
Original line number Diff line number Diff line
@@ -254,6 +254,19 @@
{ 'event': 'MIGRATION',
  'data': {'status': 'MigrationStatus'}}

##
# @MIGRATION_PASS
#
# Emitted from the source side of a migration at the start of each pass
# (when it syncs the dirty bitmap)
#
# @pass: An incrementing count (starting at 1 on the first pass)
#
# Since: 2.6
##
{ 'event': 'MIGRATION_PASS',
  'data': { 'pass': 'int' } }

##
# @ACPI_DEVICE_OST
#