All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/6] Migration pull request
@ 2015-11-12 17:20 Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 1/6] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

Hi

- fix for mutex initialzation (dave)
- different page sizes fixes (dave)
- better text (dave)
- Migration 32bits fixes (myself)

Please, apply.

The following changes since commit ed6c64489ef11d9ac5fb4b4c89d455a4f1ae8083:

  target-arm: Update PC before calling gen_helper_check_breakpoints() (2015-11-12 16:16:02 +0000)

are available in the git repository at:

  git://github.com/juanquintela/qemu.git tags/migration/20151112

for you to fetch changes up to 389775d1f67b2c8f44f9473b1e5363735972e389:

  migration_init: Fix lock initialisation/make it explicit (2015-11-12 17:55:27 +0100)

----------------------------------------------------------------
migration/next for 20151112

----------------------------------------------------------------
Dr. David Alan Gilbert (4):
      Finish non-postcopiable iterative devices before package
      Postcopy: Fix TP!=HP zero case
      migrate-start-postcopy: Improve text
      migration_init: Fix lock initialisation/make it explicit

Juan Quintela (2):
      migration: print ram_addr_t as RAM_ADDR_FMT not %zx
      migration: Make 32bit linux compile with RDMA

 hmp-commands.hx         |  4 +++-
 include/sysemu/sysemu.h |  2 +-
 migration/migration.c   | 63 ++++++++++++++++++++++++-------------------------
 migration/ram.c         |  7 +++---
 migration/rdma.c        |  2 +-
 migration/savevm.c      | 10 ++++++--
 qapi-schema.json        |  4 +++-
 7 files changed, 51 insertions(+), 41 deletions(-)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 1/6] migration: print ram_addr_t as RAM_ADDR_FMT not %zx
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
@ 2015-11-12 17:20 ` Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 2/6] migration: Make 32bit linux compile with RDMA Juan Quintela
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

Not all the wold is 64bits (yet).

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/ram.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/migration/ram.c b/migration/ram.c
index 62cf42b..d8d5a50 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1184,7 +1184,8 @@ int ram_save_queue_pages(MigrationState *ms, const char *rbname,
     }
     trace_ram_save_queue_pages(ramblock->idstr, start, len);
     if (start+len > ramblock->used_length) {
-        error_report("%s request overrun start=%zx len=%zx blocklen=%zx",
+        error_report("%s request overrun start=" RAM_ADDR_FMT " len="
+                     RAM_ADDR_FMT " blocklen=" RAM_ADDR_FMT,
                      __func__, start, len, ramblock->used_length);
         goto err;
     }
@@ -1845,7 +1846,7 @@ int ram_discard_range(MigrationIncomingState *mis,
         ret = postcopy_ram_discard_range(mis, host_startaddr, length);
     } else {
         error_report("ram_discard_range: Overrun block '%s' (%" PRIu64
-                     "/%zu/%zu)",
+                     "/%zx/" RAM_ADDR_FMT")",
                      block_name, start, length, rb->used_length);
     }

-- 
2.5.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 2/6] migration: Make 32bit linux compile with RDMA
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 1/6] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
@ 2015-11-12 17:20 ` Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 3/6] Finish non-postcopiable iterative devices before package Juan Quintela
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

Rest of the file already use that trick. 64bit offsets make no sense in
32bit archs, but that is ram_addr_t for you.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/rdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/rdma.c b/migration/rdma.c
index 553fbd7..dcabb91 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -577,7 +577,7 @@ static int rdma_add_block(RDMAContext *rdma, const char *block_name,
     block->is_ram_block = local->init ? false : true;

     if (rdma->blockmap) {
-        g_hash_table_insert(rdma->blockmap, (void *) block_offset, block);
+        g_hash_table_insert(rdma->blockmap, (void *)(uintptr_t)block_offset, block);
     }

     trace_rdma_add_block(block_name, local->nb_blocks,
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 3/6] Finish non-postcopiable iterative devices before package
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 1/6] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 2/6] migration: Make 32bit linux compile with RDMA Juan Quintela
@ 2015-11-12 17:20 ` Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 4/6] Postcopy: Fix TP!=HP zero case Juan Quintela
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Where we have iterable, but non-postcopiable devices (e.g. htab
or block migration), complete them before forming the 'package'
but with the CPUs stopped.  This stops them filling up the package.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 include/sysemu/sysemu.h |  2 +-
 migration/migration.c   | 10 ++++++++--
 migration/savevm.c      | 10 ++++++++--
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index f992494..3bb8897 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -112,7 +112,7 @@ void qemu_savevm_state_header(QEMUFile *f);
 int qemu_savevm_state_iterate(QEMUFile *f, bool postcopy);
 void qemu_savevm_state_cleanup(void);
 void qemu_savevm_state_complete_postcopy(QEMUFile *f);
-void qemu_savevm_state_complete_precopy(QEMUFile *f);
+void qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only);
 void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size,
                                uint64_t *res_non_postcopiable,
                                uint64_t *res_postcopiable);
diff --git a/migration/migration.c b/migration/migration.c
index c5c977e..5df490a 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1429,6 +1429,12 @@ static int postcopy_start(MigrationState *ms, bool *old_vm_running)
     }

     /*
+     * Cause any non-postcopiable, but iterative devices to
+     * send out their final data.
+     */
+    qemu_savevm_state_complete_precopy(ms->file, true);
+
+    /*
      * in Finish migrate and with the io-lock held everything should
      * be quiet, but we've potentially still got dirty pages and we
      * need to tell the destination to throw any pages it's already received
@@ -1471,7 +1477,7 @@ static int postcopy_start(MigrationState *ms, bool *old_vm_running)
      */
     qemu_savevm_send_postcopy_listen(fb);

-    qemu_savevm_state_complete_precopy(fb);
+    qemu_savevm_state_complete_precopy(fb, false);
     qemu_savevm_send_ping(fb, 3);

     qemu_savevm_send_postcopy_run(fb);
@@ -1538,7 +1544,7 @@ static void migration_completion(MigrationState *s, int current_active_state,
             ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
             if (ret >= 0) {
                 qemu_file_set_rate_limit(s->file, INT64_MAX);
-                qemu_savevm_state_complete_precopy(s->file);
+                qemu_savevm_state_complete_precopy(s->file, false);
             }
         }
         qemu_mutex_unlock_iothread();
diff --git a/migration/savevm.c b/migration/savevm.c
index be52314..d90e228 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1026,7 +1026,7 @@ void qemu_savevm_state_complete_postcopy(QEMUFile *f)
     qemu_fflush(f);
 }

-void qemu_savevm_state_complete_precopy(QEMUFile *f)
+void qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only)
 {
     QJSON *vmdesc;
     int vmdesc_len;
@@ -1041,9 +1041,11 @@ void qemu_savevm_state_complete_precopy(QEMUFile *f)
     QTAILQ_FOREACH(se, &savevm_state.handlers, entry) {
         if (!se->ops ||
             (in_postcopy && se->ops->save_live_complete_postcopy) ||
+            (in_postcopy && !iterable_only) ||
             !se->ops->save_live_complete_precopy) {
             continue;
         }
+
         if (se->ops && se->ops->is_active) {
             if (!se->ops->is_active(se->opaque)) {
                 continue;
@@ -1062,6 +1064,10 @@ void qemu_savevm_state_complete_precopy(QEMUFile *f)
         }
     }

+    if (iterable_only) {
+        return;
+    }
+
     vmdesc = qjson_new();
     json_prop_int(vmdesc, "page_size", TARGET_PAGE_SIZE);
     json_start_array(vmdesc, "devices");
@@ -1176,7 +1182,7 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)

     ret = qemu_file_get_error(f);
     if (ret == 0) {
-        qemu_savevm_state_complete_precopy(f);
+        qemu_savevm_state_complete_precopy(f, false);
         ret = qemu_file_get_error(f);
     }
     qemu_savevm_state_cleanup();
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 4/6] Postcopy: Fix TP!=HP zero case
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
                   ` (2 preceding siblings ...)
  2015-11-12 17:20 ` [Qemu-devel] [PULL 3/6] Finish non-postcopiable iterative devices before package Juan Quintela
@ 2015-11-12 17:20 ` Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 5/6] migrate-start-postcopy: Improve text Juan Quintela
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Where the target page size is different from the host page
we special case it, but I messed up on the zero case check.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 migration/ram.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/ram.c b/migration/ram.c
index d8d5a50..7f32696 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2274,6 +2274,7 @@ static int ram_load_postcopy(QEMUFile *f)
     /* Temporary page that is later 'placed' */
     void *postcopy_host_page = postcopy_get_tmp_page(mis);
     void *last_host = NULL;
+    bool all_zero = false;

     while (!ret && !(flags & RAM_SAVE_FLAG_EOS)) {
         ram_addr_t addr;
@@ -2281,7 +2282,6 @@ static int ram_load_postcopy(QEMUFile *f)
         void *page_buffer = NULL;
         void *place_source = NULL;
         uint8_t ch;
-        bool all_zero = false;

         addr = qemu_get_be64(f);
         flags = addr & ~TARGET_PAGE_MASK;
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 5/6] migrate-start-postcopy: Improve text
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
                   ` (3 preceding siblings ...)
  2015-11-12 17:20 ` [Qemu-devel] [PULL 4/6] Postcopy: Fix TP!=HP zero case Juan Quintela
@ 2015-11-12 17:20 ` Juan Quintela
  2015-11-12 17:20 ` [Qemu-devel] [PULL 6/6] migration_init: Fix lock initialisation/make it explicit Juan Quintela
  2015-11-12 18:52 ` [Qemu-devel] [PULL 0/6] Migration pull request Peter Maydell
  6 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Improve the text in both the qapi-schema and hmp help to point out
you need to set the postcopy-ram capability prior to issuing
migrate-start-postcopy.

Also fix the text of the migrate_start_postcopy error that
deals with capabilities.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Acked-by: Jason J. Herne <jjherne@linux.vnet.ibm.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hmp-commands.hx       | 4 +++-
 migration/migration.c | 2 +-
 qapi-schema.json      | 4 +++-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/hmp-commands.hx b/hmp-commands.hx
index f3de407..bb52e4d 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1025,7 +1025,9 @@ ETEXI
         .name       = "migrate_start_postcopy",
         .args_type  = "",
         .params     = "",
-        .help       = "Switch migration to postcopy mode",
+        .help       = "Followup to a migration command to switch the migration"
+                      " to postcopy mode. The x-postcopy-ram capability must "
+                      "be set before the original migration command.",
         .mhandler.cmd = hmp_migrate_start_postcopy,
     },

diff --git a/migration/migration.c b/migration/migration.c
index 5df490a..9bd2ce7 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -768,7 +768,7 @@ void qmp_migrate_start_postcopy(Error **errp)
     MigrationState *s = migrate_get_current();

     if (!migrate_postcopy_ram()) {
-        error_setg(errp, "Enable postcopy with migration_set_capability before"
+        error_setg(errp, "Enable postcopy with migrate_set_capability before"
                          " the start of migration");
         return;
     }
diff --git a/qapi-schema.json b/qapi-schema.json
index c3f95ab..a1514ca 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -706,7 +706,9 @@
 ##
 # @migrate-start-postcopy
 #
-# Switch migration to postcopy mode
+# Followup to a migration command to switch the migration to postcopy mode.
+# The x-postcopy-ram capability must be set before the original migration
+# command.
 #
 # Since: 2.5
 { 'command': 'migrate-start-postcopy' }
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 6/6] migration_init: Fix lock initialisation/make it explicit
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
                   ` (4 preceding siblings ...)
  2015-11-12 17:20 ` [Qemu-devel] [PULL 5/6] migrate-start-postcopy: Improve text Juan Quintela
@ 2015-11-12 17:20 ` Juan Quintela
  2015-11-12 18:52 ` [Qemu-devel] [PULL 0/6] Migration pull request Peter Maydell
  6 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-11-12 17:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Peter reported a lock error on MacOS after my a82d593b
patch.

migrate_get_current does one-time initialisation of
a bunch of variables.
migrate_init does reinitialisation even on a 2nd
migrate after a cancel.

The problem here was that I'd initialised the mutex
in migrate_get_current, and the memset in migrate_init
corrupted it.

Remove the memset and replace it by explicit initialisation
of fields that need initialising; this also turns out to be simpler
than the old code that had to preserve some fields.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Fixes: a82d593b
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 migration/migration.c | 51 ++++++++++++++++++++++-----------------------------
 1 file changed, 22 insertions(+), 29 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 9bd2ce7..7e4e27b 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -902,38 +902,31 @@ bool migration_in_postcopy(MigrationState *s)
 MigrationState *migrate_init(const MigrationParams *params)
 {
     MigrationState *s = migrate_get_current();
-    int64_t bandwidth_limit = s->bandwidth_limit;
-    bool enabled_capabilities[MIGRATION_CAPABILITY_MAX];
-    int64_t xbzrle_cache_size = s->xbzrle_cache_size;
-    int compress_level = s->parameters[MIGRATION_PARAMETER_COMPRESS_LEVEL];
-    int compress_thread_count =
-            s->parameters[MIGRATION_PARAMETER_COMPRESS_THREADS];
-    int decompress_thread_count =
-            s->parameters[MIGRATION_PARAMETER_DECOMPRESS_THREADS];
-    int x_cpu_throttle_initial =
-            s->parameters[MIGRATION_PARAMETER_X_CPU_THROTTLE_INITIAL];
-    int x_cpu_throttle_increment =
-            s->parameters[MIGRATION_PARAMETER_X_CPU_THROTTLE_INCREMENT];

-    memcpy(enabled_capabilities, s->enabled_capabilities,
-           sizeof(enabled_capabilities));
-
-    memset(s, 0, sizeof(*s));
+    /*
+     * Reinitialise all migration state, except
+     * parameters/capabilities that the user set, and
+     * locks.
+     */
+    s->bytes_xfer = 0;
+    s->xfer_limit = 0;
+    s->cleanup_bh = 0;
+    s->file = NULL;
+    s->state = MIGRATION_STATUS_NONE;
     s->params = *params;
-    memcpy(s->enabled_capabilities, enabled_capabilities,
-           sizeof(enabled_capabilities));
-    s->xbzrle_cache_size = xbzrle_cache_size;
+    s->rp_state.from_dst_file = NULL;
+    s->rp_state.error = false;
+    s->mbps = 0.0;
+    s->downtime = 0;
+    s->expected_downtime = 0;
+    s->dirty_pages_rate = 0;
+    s->dirty_bytes_rate = 0;
+    s->setup_time = 0;
+    s->dirty_sync_count = 0;
+    s->start_postcopy = false;
+    s->migration_thread_running = false;
+    s->last_req_rb = NULL;

-    s->parameters[MIGRATION_PARAMETER_COMPRESS_LEVEL] = compress_level;
-    s->parameters[MIGRATION_PARAMETER_COMPRESS_THREADS] =
-               compress_thread_count;
-    s->parameters[MIGRATION_PARAMETER_DECOMPRESS_THREADS] =
-               decompress_thread_count;
-    s->parameters[MIGRATION_PARAMETER_X_CPU_THROTTLE_INITIAL] =
-                x_cpu_throttle_initial;
-    s->parameters[MIGRATION_PARAMETER_X_CPU_THROTTLE_INCREMENT] =
-                x_cpu_throttle_increment;
-    s->bandwidth_limit = bandwidth_limit;
     migrate_set_state(s, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP);

     QSIMPLEQ_INIT(&s->src_page_requests);
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] Migration pull request
  2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
                   ` (5 preceding siblings ...)
  2015-11-12 17:20 ` [Qemu-devel] [PULL 6/6] migration_init: Fix lock initialisation/make it explicit Juan Quintela
@ 2015-11-12 18:52 ` Peter Maydell
  6 siblings, 0 replies; 15+ messages in thread
From: Peter Maydell @ 2015-11-12 18:52 UTC (permalink / raw)
  To: Juan Quintela; +Cc: Amit Shah, QEMU Developers, Dr. David Alan Gilbert

On 12 November 2015 at 17:20, Juan Quintela <quintela@redhat.com> wrote:
> Hi
>
> - fix for mutex initialzation (dave)
> - different page sizes fixes (dave)
> - better text (dave)
> - Migration 32bits fixes (myself)
>
> Please, apply.
>
> The following changes since commit ed6c64489ef11d9ac5fb4b4c89d455a4f1ae8083:
>
>   target-arm: Update PC before calling gen_helper_check_breakpoints() (2015-11-12 16:16:02 +0000)
>
> are available in the git repository at:
>
>   git://github.com/juanquintela/qemu.git tags/migration/20151112
>
> for you to fetch changes up to 389775d1f67b2c8f44f9473b1e5363735972e389:
>
>   migration_init: Fix lock initialisation/make it explicit (2015-11-12 17:55:27 +0100)
>
> ----------------------------------------------------------------
> migration/next for 20151112
>
> ----------------------------------------------------------------

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] Migration pull request
  2015-09-30  8:56 Juan Quintela
@ 2015-10-01 11:01 ` Peter Maydell
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Maydell @ 2015-10-01 11:01 UTC (permalink / raw)
  To: Juan Quintela; +Cc: Amit Shah, QEMU Developers, Dr. David Alan Gilbert

On 30 September 2015 at 09:56, Juan Quintela <quintela@redhat.com> wrote:
> Hi
>
> This get the auto-converge changes for migration, please pull.
>
>
> The following changes since commit b2312c680084ea18cd55fa7093397cad2224ec14:
>
>   Merge remote-tracking branch 'remotes/amit-migration/tags/for-juan-201509' into staging (2015-09-29 12:41:19 +0100)
>
> are available in the git repository at:
>
>   git://github.com/juanquintela/qemu.git tags/migration/20150930
>
> for you to fetch changes up to dc3256272cf70b2152279b013a8abb16e0f6fe96:
>
>   migration: Disambiguate MAX_THROTTLE (2015-09-30 09:42:04 +0200)
>
> ----------------------------------------------------------------
> migration/next for 20150930
>
> ----------------------------------------------------------------

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 0/6] Migration pull request
@ 2015-09-30  8:56 Juan Quintela
  2015-10-01 11:01 ` Peter Maydell
  0 siblings, 1 reply; 15+ messages in thread
From: Juan Quintela @ 2015-09-30  8:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

Hi

This get the auto-converge changes for migration, please pull.


The following changes since commit b2312c680084ea18cd55fa7093397cad2224ec14:

  Merge remote-tracking branch 'remotes/amit-migration/tags/for-juan-201509' into staging (2015-09-29 12:41:19 +0100)

are available in the git repository at:

  git://github.com/juanquintela/qemu.git tags/migration/20150930

for you to fetch changes up to dc3256272cf70b2152279b013a8abb16e0f6fe96:

  migration: Disambiguate MAX_THROTTLE (2015-09-30 09:42:04 +0200)

----------------------------------------------------------------
migration/next for 20150930

----------------------------------------------------------------
Jason J. Herne (5):
      cpu: Provide vcpu throttling interface
      migration: Parameters for auto-converge cpu throttling
      migration: Dynamic cpu throttling for auto-converge
      qmp/hmp: Add throttle ratio to query-migrate and info migrate
      migration: Disambiguate MAX_THROTTLE

Juan Quintela (1):
      migration: yet more possible state transitions

 cpus.c                | 78 ++++++++++++++++++++++++++++++++++++++++++++
 hmp.c                 | 21 ++++++++++++
 include/qom/cpu.h     | 42 ++++++++++++++++++++++++
 migration/migration.c | 57 +++++++++++++++++++++++++++++++--
 migration/ram.c       | 89 +++++++++++++++++----------------------------------
 qapi-schema.json      | 40 ++++++++++++++++++++---
 vl.c                  |  1 +
 7 files changed, 263 insertions(+), 65 deletions(-)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] Migration pull request
  2015-07-15 13:19   ` Peter Maydell
@ 2015-07-15 13:39     ` Juan Quintela
  0 siblings, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-07-15 13:39 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Amit Shah, QEMU Developers, Dr. David Alan Gilbert

Peter Maydell <peter.maydell@linaro.org> wrote:
> On 15 July 2015 at 11:16, Amit Shah <amit.shah@redhat.com> wrote:
>> On (Wed) 15 Jul 2015 [11:04:34], Juan Quintela wrote:
>>> Hi
>>>
>>> This pull requset:
>>> - small optimization by Li
>>> - fixes global state with savevm (reported by John Snow)
>>> - get migration traces for migration state changes even if migration
>>>   events are not enabled
>>> - Change state after migration has finished (reported by Christian)
>>> - add documentation for events
>>>
>>> Please, Apply.
>>
>> Peter, can you fix the typos in my name in patches 5 and 6, or do you
>> want a new pull req?
>
> I've applied Juan's fixed pull. For the record, I always need a
> new pullreq -- it's not possible to edit the commits in a pull,
> I can only edit if I'm applying patches individually to master.

I used a different algorithm.

What is easier for Peter?

O:-)

Thanks, Juan.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] Migration pull request
  2015-07-15 10:16 ` Amit Shah
@ 2015-07-15 13:19   ` Peter Maydell
  2015-07-15 13:39     ` Juan Quintela
  0 siblings, 1 reply; 15+ messages in thread
From: Peter Maydell @ 2015-07-15 13:19 UTC (permalink / raw)
  To: Amit Shah; +Cc: QEMU Developers, Dr. David Alan Gilbert, Juan Quintela

On 15 July 2015 at 11:16, Amit Shah <amit.shah@redhat.com> wrote:
> On (Wed) 15 Jul 2015 [11:04:34], Juan Quintela wrote:
>> Hi
>>
>> This pull requset:
>> - small optimization by Li
>> - fixes global state with savevm (reported by John Snow)
>> - get migration traces for migration state changes even if migration
>>   events are not enabled
>> - Change state after migration has finished (reported by Christian)
>> - add documentation for events
>>
>> Please, Apply.
>
> Peter, can you fix the typos in my name in patches 5 and 6, or do you
> want a new pull req?

I've applied Juan's fixed pull. For the record, I always need a
new pullreq -- it's not possible to edit the commits in a pull,
I can only edit if I'm applying patches individually to master.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] Migration pull request
  2015-07-15  9:04 Juan Quintela
  2015-07-15 10:16 ` Amit Shah
@ 2015-07-15 10:20 ` Juan Quintela
  1 sibling, 0 replies; 15+ messages in thread
From: Juan Quintela @ 2015-07-15 10:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert


Self-Nack

Misspelled Amit name, resending with name fixed.  Sorry.

Juan Quintela <quintela@redhat.com> wrote:
> Hi
>
> This pull requset:
> - small optimization by Li
> - fixes global state with savevm (reported by John Snow)
> - get migration traces for migration state changes even if migration
>   events are not enabled
> - Change state after migration has finished (reported by Christian)
> - add documentation for events
>
> Please, Apply.
>
> PD.  Yes, it had to pass:
>    make check
>    virt-test
>    savevm by hand
>
>
> The following changes since commit 661725da09f47eb92d356fac10a4cf3b7ad1f61d:
>
>   Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20150714' into staging (2015-07-14 18:50:17 +0100)
>
> are available in the git repository at:
>
>   git://github.com/juanquintela/qemu.git tags/migration/20150715
>
> for you to fetch changes up to 4915a5ad93e6c8ac77e2e5a007be178d50c7b019:
>
>   migration: We also want to store the global state for savevm (2015-07-15 10:51:05 +0200)
>
> ----------------------------------------------------------------
> migration/next for 20150715
>
> ----------------------------------------------------------------
> Juan Quintela (5):
>       migration: Only change state after migration has finished
>       migration: Trace event and migration event are different things
>       migration: Write documetation for events capabilites
>       migration: Register global state section before loadvm
>       migration: We also want to store the global state for savevm
>
> Liang Li (1):
>       migration: reduce the count of strlen call
>
>  include/migration/migration.h |  1 +
>  migration/migration.c         | 52 ++++++++++++++++++++++++-------------------
>  migration/ram.c               | 10 ++++-----
>  migration/savevm.c            |  6 +++++
>  qmp-commands.hx               |  1 +
>  vl.c                          |  2 +-
>  6 files changed, 43 insertions(+), 29 deletions(-)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] Migration pull request
  2015-07-15  9:04 Juan Quintela
@ 2015-07-15 10:16 ` Amit Shah
  2015-07-15 13:19   ` Peter Maydell
  2015-07-15 10:20 ` Juan Quintela
  1 sibling, 1 reply; 15+ messages in thread
From: Amit Shah @ 2015-07-15 10:16 UTC (permalink / raw)
  To: Juan Quintela; +Cc: qemu-devel, dgilbert

On (Wed) 15 Jul 2015 [11:04:34], Juan Quintela wrote:
> Hi
> 
> This pull requset:
> - small optimization by Li
> - fixes global state with savevm (reported by John Snow)
> - get migration traces for migration state changes even if migration
>   events are not enabled
> - Change state after migration has finished (reported by Christian)
> - add documentation for events
> 
> Please, Apply.

Peter, can you fix the typos in my name in patches 5 and 6, or do you
want a new pull req?

Thanks,

		Amit

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PULL 0/6] Migration pull request
@ 2015-07-15  9:04 Juan Quintela
  2015-07-15 10:16 ` Amit Shah
  2015-07-15 10:20 ` Juan Quintela
  0 siblings, 2 replies; 15+ messages in thread
From: Juan Quintela @ 2015-07-15  9:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: amit.shah, dgilbert

Hi

This pull requset:
- small optimization by Li
- fixes global state with savevm (reported by John Snow)
- get migration traces for migration state changes even if migration
  events are not enabled
- Change state after migration has finished (reported by Christian)
- add documentation for events

Please, Apply.

PD.  Yes, it had to pass:
   make check
   virt-test
   savevm by hand


The following changes since commit 661725da09f47eb92d356fac10a4cf3b7ad1f61d:

  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20150714' into staging (2015-07-14 18:50:17 +0100)

are available in the git repository at:

  git://github.com/juanquintela/qemu.git tags/migration/20150715

for you to fetch changes up to 4915a5ad93e6c8ac77e2e5a007be178d50c7b019:

  migration: We also want to store the global state for savevm (2015-07-15 10:51:05 +0200)

----------------------------------------------------------------
migration/next for 20150715

----------------------------------------------------------------
Juan Quintela (5):
      migration: Only change state after migration has finished
      migration: Trace event and migration event are different things
      migration: Write documetation for events capabilites
      migration: Register global state section before loadvm
      migration: We also want to store the global state for savevm

Liang Li (1):
      migration: reduce the count of strlen call

 include/migration/migration.h |  1 +
 migration/migration.c         | 52 ++++++++++++++++++++++++-------------------
 migration/ram.c               | 10 ++++-----
 migration/savevm.c            |  6 +++++
 qmp-commands.hx               |  1 +
 vl.c                          |  2 +-
 6 files changed, 43 insertions(+), 29 deletions(-)

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-11-12 18:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-12 17:20 [Qemu-devel] [PULL 0/6] Migration pull request Juan Quintela
2015-11-12 17:20 ` [Qemu-devel] [PULL 1/6] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
2015-11-12 17:20 ` [Qemu-devel] [PULL 2/6] migration: Make 32bit linux compile with RDMA Juan Quintela
2015-11-12 17:20 ` [Qemu-devel] [PULL 3/6] Finish non-postcopiable iterative devices before package Juan Quintela
2015-11-12 17:20 ` [Qemu-devel] [PULL 4/6] Postcopy: Fix TP!=HP zero case Juan Quintela
2015-11-12 17:20 ` [Qemu-devel] [PULL 5/6] migrate-start-postcopy: Improve text Juan Quintela
2015-11-12 17:20 ` [Qemu-devel] [PULL 6/6] migration_init: Fix lock initialisation/make it explicit Juan Quintela
2015-11-12 18:52 ` [Qemu-devel] [PULL 0/6] Migration pull request Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2015-09-30  8:56 Juan Quintela
2015-10-01 11:01 ` Peter Maydell
2015-07-15  9:04 Juan Quintela
2015-07-15 10:16 ` Amit Shah
2015-07-15 13:19   ` Peter Maydell
2015-07-15 13:39     ` Juan Quintela
2015-07-15 10:20 ` Juan Quintela

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.