All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: aarcange@redhat.com, yamahata@private.email.ne.jp,
	quintela@redhat.com, qemu-devel@nongnu.org, amit.shah@redhat.com,
	pbonzini@redhat.com, yanghy@cn.fujitsu.com
Subject: Re: [Qemu-devel] [PATCH v5 20/45] Modify savevm handlers for postcopy
Date: Fri, 13 Mar 2015 10:19:54 +0000	[thread overview]
Message-ID: <20150313101953.GA2486@work-vm> (raw)
In-Reply-To: <20150313010058.GZ11973@voom.redhat.com>

* David Gibson (david@gibson.dropbear.id.au) wrote:
> On Wed, Feb 25, 2015 at 04:51:43PM +0000, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > 
> > Modify save_live_pending to return separate postcopiable and
> > non-postcopiable counts.
> > 
> > Add 'can_postcopy' to allow a device to state if it can postcopy
> 
> What's the purpose of the can_postcopy callback?  There are no callers
> in this patch - is it still necessary with the change to
> save_live_pending?

The patch 'qemu_savevm_state_complete: Postcopy changes' uses
it in qemu_savevm_state_postcopy_complete and qemu_savevm_state_complete
to decide which devices must be completed at that point.

Dave

> 
> > 
> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > ---
> >  arch_init.c                 | 15 +++++++++++++--
> >  include/migration/vmstate.h | 10 ++++++++--
> >  include/sysemu/sysemu.h     |  4 +++-
> >  migration/block.c           |  7 +++++--
> >  migration/migration.c       |  9 +++++++--
> >  savevm.c                    | 21 +++++++++++++++++----
> >  trace-events                |  2 +-
> >  7 files changed, 54 insertions(+), 14 deletions(-)
> > 
> > diff --git a/arch_init.c b/arch_init.c
> > index fe0df0d..7bc5fa6 100644
> > --- a/arch_init.c
> > +++ b/arch_init.c
> > @@ -997,7 +997,9 @@ static int ram_save_complete(QEMUFile *f, void *opaque)
> >      return 0;
> >  }
> >  
> > -static uint64_t ram_save_pending(QEMUFile *f, void *opaque, uint64_t max_size)
> > +static void ram_save_pending(QEMUFile *f, void *opaque, uint64_t max_size,
> > +                             uint64_t *non_postcopiable_pending,
> > +                             uint64_t *postcopiable_pending)
> >  {
> >      uint64_t remaining_size;
> >  
> > @@ -1009,7 +1011,9 @@ static uint64_t ram_save_pending(QEMUFile *f, void *opaque, uint64_t max_size)
> >          qemu_mutex_unlock_iothread();
> >          remaining_size = ram_save_remaining() * TARGET_PAGE_SIZE;
> >      }
> > -    return remaining_size;
> > +
> > +    *non_postcopiable_pending = 0;
> > +    *postcopiable_pending = remaining_size;
> >  }
> >  
> >  static int load_xbzrle(QEMUFile *f, ram_addr_t addr, void *host)
> > @@ -1204,6 +1208,12 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
> >      return ret;
> >  }
> >  
> > +/* RAM's always up for postcopying */
> > +static bool ram_can_postcopy(void *opaque)
> > +{
> > +    return true;
> > +}
> > +
> >  static SaveVMHandlers savevm_ram_handlers = {
> >      .save_live_setup = ram_save_setup,
> >      .save_live_iterate = ram_save_iterate,
> > @@ -1211,6 +1221,7 @@ static SaveVMHandlers savevm_ram_handlers = {
> >      .save_live_pending = ram_save_pending,
> >      .load_state = ram_load,
> >      .cancel = ram_migration_cancel,
> > +    .can_postcopy = ram_can_postcopy,
> >  };
> >  
> >  void ram_mig_init(void)
> > diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
> > index 18da207..c9ec74a 100644
> > --- a/include/migration/vmstate.h
> > +++ b/include/migration/vmstate.h
> > @@ -54,8 +54,14 @@ typedef struct SaveVMHandlers {
> >  
> >      /* This runs outside the iothread lock!  */
> >      int (*save_live_setup)(QEMUFile *f, void *opaque);
> > -    uint64_t (*save_live_pending)(QEMUFile *f, void *opaque, uint64_t max_size);
> > -
> > +    /*
> > +     * postcopiable_pending must return 0 unless the can_postcopy
> > +     * handler returns true.
> > +     */
> > +    void (*save_live_pending)(QEMUFile *f, void *opaque, uint64_t max_size,
> > +                              uint64_t *non_postcopiable_pending,
> > +                              uint64_t *postcopiable_pending);
> > +    bool (*can_postcopy)(void *opaque);
> >      LoadStateHandler *load_state;
> >  } SaveVMHandlers;
> >  
> > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> > index e83bf80..5f518b3 100644
> > --- a/include/sysemu/sysemu.h
> > +++ b/include/sysemu/sysemu.h
> > @@ -111,7 +111,9 @@ void qemu_savevm_state_header(QEMUFile *f);
> >  int qemu_savevm_state_iterate(QEMUFile *f);
> >  void qemu_savevm_state_complete(QEMUFile *f);
> >  void qemu_savevm_state_cancel(void);
> > -uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size);
> > +void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size,
> > +                               uint64_t *res_non_postcopiable,
> > +                               uint64_t *res_postcopiable);
> >  void qemu_savevm_command_send(QEMUFile *f, enum qemu_vm_cmd command,
> >                                uint16_t len, uint8_t *data);
> >  void qemu_savevm_send_ping(QEMUFile *f, uint32_t value);
> > diff --git a/migration/block.c b/migration/block.c
> > index 0c76106..0f6f209 100644
> > --- a/migration/block.c
> > +++ b/migration/block.c
> > @@ -754,7 +754,9 @@ static int block_save_complete(QEMUFile *f, void *opaque)
> >      return 0;
> >  }
> >  
> > -static uint64_t block_save_pending(QEMUFile *f, void *opaque, uint64_t max_size)
> > +static void block_save_pending(QEMUFile *f, void *opaque, uint64_t max_size,
> > +                               uint64_t *non_postcopiable_pending,
> > +                               uint64_t *postcopiable_pending)
> >  {
> >      /* Estimate pending number of bytes to send */
> >      uint64_t pending;
> > @@ -773,7 +775,8 @@ static uint64_t block_save_pending(QEMUFile *f, void *opaque, uint64_t max_size)
> >      qemu_mutex_unlock_iothread();
> >  
> >      DPRINTF("Enter save live pending  %" PRIu64 "\n", pending);
> > -    return pending;
> > +    *non_postcopiable_pending = pending;
> > +    *postcopiable_pending = 0;
> >  }
> >  
> >  static int block_load(QEMUFile *f, void *opaque, int version_id)
> > diff --git a/migration/migration.c b/migration/migration.c
> > index 2e6adca..a4fc7d7 100644
> > --- a/migration/migration.c
> > +++ b/migration/migration.c
> > @@ -868,8 +868,13 @@ static void *migration_thread(void *opaque)
> >          uint64_t pending_size;
> >  
> >          if (!qemu_file_rate_limit(s->file)) {
> > -            pending_size = qemu_savevm_state_pending(s->file, max_size);
> > -            trace_migrate_pending(pending_size, max_size);
> > +            uint64_t pend_post, pend_nonpost;
> > +
> > +            qemu_savevm_state_pending(s->file, max_size, &pend_nonpost,
> > +                                      &pend_post);
> > +            pending_size = pend_nonpost + pend_post;
> > +            trace_migrate_pending(pending_size, max_size,
> > +                                  pend_post, pend_nonpost);
> >              if (pending_size && pending_size >= max_size) {
> >                  qemu_savevm_state_iterate(s->file);
> >              } else {
> > diff --git a/savevm.c b/savevm.c
> > index df48ba8..e301a0a 100644
> > --- a/savevm.c
> > +++ b/savevm.c
> > @@ -944,10 +944,20 @@ void qemu_savevm_state_complete(QEMUFile *f)
> >      qemu_fflush(f);
> >  }
> >  
> > -uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size)
> > +/* Give an estimate of the amount left to be transferred,
> > + * the result is split into the amount for units that can and
> > + * for units that can't do postcopy.
> > + */
> > +void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size,
> > +                               uint64_t *res_non_postcopiable,
> > +                               uint64_t *res_postcopiable)
> >  {
> >      SaveStateEntry *se;
> > -    uint64_t ret = 0;
> > +    uint64_t tmp_non_postcopiable, tmp_postcopiable;
> > +
> > +    *res_non_postcopiable = 0;
> > +    *res_postcopiable = 0;
> > +
> >  
> >      QTAILQ_FOREACH(se, &savevm_handlers, entry) {
> >          if (!se->ops || !se->ops->save_live_pending) {
> > @@ -958,9 +968,12 @@ uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size)
> >                  continue;
> >              }
> >          }
> > -        ret += se->ops->save_live_pending(f, se->opaque, max_size);
> > +        se->ops->save_live_pending(f, se->opaque, max_size,
> > +                                   &tmp_non_postcopiable, &tmp_postcopiable);
> > +
> > +        *res_postcopiable += tmp_postcopiable;
> > +        *res_non_postcopiable += tmp_non_postcopiable;
> >      }
> > -    return ret;
> >  }
> >  
> >  void qemu_savevm_state_cancel(void)
> > diff --git a/trace-events b/trace-events
> > index cbf995c..83312b6 100644
> > --- a/trace-events
> > +++ b/trace-events
> > @@ -1400,7 +1400,7 @@ migrate_fd_cleanup(void) ""
> >  migrate_fd_cleanup_src_rp(void) ""
> >  migrate_fd_error(void) ""
> >  migrate_fd_cancel(void) ""
> > -migrate_pending(uint64_t size, uint64_t max) "pending size %" PRIu64 " max %" PRIu64
> > +migrate_pending(uint64_t size, uint64_t max, uint64_t post, uint64_t nonpost) "pending size %" PRIu64 " max %" PRIu64 " (post=%" PRIu64 " nonpost=%" PRIu64 ")"
> >  migrate_send_rp_message(int cmd, uint16_t len) "cmd=%d, len=%d"
> >  open_outgoing_return_path(void) ""
> >  open_outgoing_return_path_continue(void) ""
> 
> -- 
> David Gibson			| I'll have my music baroque, and my code
> david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
> 				| _way_ _around_!
> http://www.ozlabs.org/~dgibson


--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2015-03-13 10:20 UTC|newest]

Thread overview: 181+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-25 16:51 [Qemu-devel] [PATCH v5 00/45] Postcopy implementation Dr. David Alan Gilbert (git)
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 01/45] Start documenting how postcopy works Dr. David Alan Gilbert (git)
2015-03-05  3:21   ` David Gibson
2015-03-05  9:21     ` Dr. David Alan Gilbert
2015-03-10  1:04       ` David Gibson
2015-03-13 13:07         ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 02/45] Split header writing out of qemu_save_state_begin Dr. David Alan Gilbert (git)
2015-03-10  1:05   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 03/45] qemu_ram_foreach_block: pass up error value, and down the ramblock name Dr. David Alan Gilbert (git)
2015-03-10 15:30   ` Eric Blake
2015-03-10 16:21     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 04/45] Add qemu_get_counted_string to read a string prefixed by a count byte Dr. David Alan Gilbert (git)
2015-03-10  1:12   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 05/45] Create MigrationIncomingState Dr. David Alan Gilbert (git)
2015-03-10  2:37   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 06/45] Provide runtime Target page information Dr. David Alan Gilbert (git)
2015-03-10  2:38   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 07/45] Return path: Open a return path on QEMUFile for sockets Dr. David Alan Gilbert (git)
2015-03-10  2:49   ` David Gibson
2015-03-13 13:14     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 08/45] Return path: socket_writev_buffer: Block even on non-blocking fd's Dr. David Alan Gilbert (git)
2015-03-10  2:56   ` David Gibson
2015-03-10 13:35     ` Dr. David Alan Gilbert
2015-03-11  1:51       ` David Gibson
2015-03-28 15:30   ` Paolo Bonzini
2015-03-29  4:07     ` David Gibson
2015-03-29  9:03       ` Paolo Bonzini
2015-03-30 16:50         ` Dr. David Alan Gilbert
2015-03-30 18:22           ` Markus Armbruster
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 09/45] Migration commands Dr. David Alan Gilbert (git)
2015-03-10  4:58   ` David Gibson
2015-03-10 11:04     ` Dr. David Alan Gilbert
2015-03-10 11:06       ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 10/45] Return path: Control commands Dr. David Alan Gilbert (git)
2015-03-10  5:40   ` David Gibson
2015-03-28 15:32   ` Paolo Bonzini
2015-03-30 17:34     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 11/45] Return path: Send responses from destination to source Dr. David Alan Gilbert (git)
2015-03-10  5:47   ` David Gibson
2015-03-10 14:34     ` Dr. David Alan Gilbert
2015-03-11  1:54       ` David Gibson
2015-03-25 18:47         ` Dr. David Alan Gilbert
2015-03-28 15:34     ` Paolo Bonzini
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 12/45] Return path: Source handling of return path Dr. David Alan Gilbert (git)
2015-03-10  6:08   ` David Gibson
2015-03-20 18:17     ` Dr. David Alan Gilbert
2015-03-23  2:37       ` David Gibson
2015-04-01 15:14         ` Dr. David Alan Gilbert
2015-04-07  3:07           ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 13/45] ram_debug_dump_bitmap: Dump a migration bitmap as text Dr. David Alan Gilbert (git)
2015-03-10  6:11   ` David Gibson
2015-03-20 18:48     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 14/45] Move loadvm_handlers into MigrationIncomingState Dr. David Alan Gilbert (git)
2015-03-10  6:19   ` David Gibson
2015-03-10 10:12     ` Dr. David Alan Gilbert
2015-03-10 11:03       ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 15/45] Rework loadvm path for subloops Dr. David Alan Gilbert (git)
2015-03-12  6:11   ` David Gibson
2015-04-14 12:04     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 16/45] Add migration-capability boolean for postcopy-ram Dr. David Alan Gilbert (git)
2015-03-12  6:14   ` David Gibson
2015-03-13 12:58     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 17/45] Add wrappers and handlers for sending/receiving the postcopy-ram migration messages Dr. David Alan Gilbert (git)
2015-03-12  9:30   ` David Gibson
2015-03-26 16:33     ` Dr. David Alan Gilbert
2015-03-27  4:13       ` David Gibson
2015-03-27 10:48         ` Dr. David Alan Gilbert
2015-03-28 16:00           ` Paolo Bonzini
2015-03-30  4:03           ` David Gibson
2015-03-28 15:58         ` Paolo Bonzini
2015-03-28 15:43   ` Paolo Bonzini
2015-03-30 17:46     ` Dr. David Alan Gilbert
2015-03-30 19:23       ` Paolo Bonzini
2015-03-31 11:05         ` Dr. David Alan Gilbert
2015-03-31 11:10           ` Paolo Bonzini
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 18/45] MIG_CMD_PACKAGED: Send a packaged chunk of migration stream Dr. David Alan Gilbert (git)
2015-03-13  0:55   ` David Gibson
2015-03-13 11:51     ` Dr. David Alan Gilbert
2015-03-16  6:16       ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 19/45] migrate_init: Call from savevm Dr. David Alan Gilbert (git)
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 20/45] Modify savevm handlers for postcopy Dr. David Alan Gilbert (git)
2015-03-13  1:00   ` David Gibson
2015-03-13 10:19     ` Dr. David Alan Gilbert [this message]
2015-03-16  6:18       ` David Gibson
2015-03-20 12:37         ` Dr. David Alan Gilbert
2015-03-23  2:25           ` David Gibson
2015-03-24 20:04             ` Dr. David Alan Gilbert
2015-03-24 22:32               ` David Gibson
2015-03-25 15:00                 ` Dr. David Alan Gilbert
2015-03-25 16:40                   ` Dr. David Alan Gilbert
2015-03-26  1:35                     ` David Gibson
2015-03-26 11:44                       ` Dr. David Alan Gilbert
2015-03-27  3:56                         ` David Gibson
2015-03-26  1:35                   ` David Gibson
2015-03-30  8:10                 ` Paolo Bonzini
2015-03-31  0:10                   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 21/45] Add Linux userfaultfd header Dr. David Alan Gilbert (git)
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 22/45] postcopy: OS support test Dr. David Alan Gilbert (git)
2015-03-13  1:23   ` David Gibson
2015-03-13 10:41     ` Dr. David Alan Gilbert
2015-03-16  6:22       ` David Gibson
2015-03-30  8:14       ` Paolo Bonzini
2015-03-30 14:07         ` Dr. David Alan Gilbert
2015-03-30 14:09           ` Paolo Bonzini
2015-06-16 10:49             ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 23/45] migrate_start_postcopy: Command to trigger transition to postcopy Dr. David Alan Gilbert (git)
2015-03-13  1:26   ` David Gibson
2015-03-13 11:19     ` Dr. David Alan Gilbert
2015-03-16  6:23       ` David Gibson
2015-03-18 17:59         ` Dr. David Alan Gilbert
2015-03-19  4:18           ` David Gibson
2015-03-19  9:33             ` Dr. David Alan Gilbert
2015-03-23  2:20               ` David Gibson
2015-03-30  8:19                 ` Paolo Bonzini
2015-03-30 17:04                   ` Dr. David Alan Gilbert
2015-03-30 19:22                     ` Paolo Bonzini
2015-03-31 11:21                       ` Dr. David Alan Gilbert
2015-03-30  8:17               ` Paolo Bonzini
2015-03-31  2:23                 ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 24/45] MIG_STATE_POSTCOPY_ACTIVE: Add new migration state Dr. David Alan Gilbert (git)
2015-03-13  4:45   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 25/45] qemu_savevm_state_complete: Postcopy changes Dr. David Alan Gilbert (git)
2015-03-13  4:58   ` David Gibson
2015-03-13 12:25     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 26/45] Postcopy page-map-incoming (PMI) structure Dr. David Alan Gilbert (git)
2015-03-13  5:19   ` David Gibson
2015-03-13 13:47     ` Dr. David Alan Gilbert
2015-03-16  6:30       ` David Gibson
2015-03-18 17:58         ` Dr. David Alan Gilbert
2015-03-23  2:48           ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 27/45] Postcopy: Maintain sentmap and calculate discard Dr. David Alan Gilbert (git)
2015-03-23  3:30   ` David Gibson
2015-03-23 14:36     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 28/45] postcopy: Incoming initialisation Dr. David Alan Gilbert (git)
2015-03-23  3:41   ` David Gibson
2015-03-23 13:46     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 29/45] postcopy: ram_enable_notify to switch on userfault Dr. David Alan Gilbert (git)
2015-03-23  3:45   ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 30/45] Postcopy: Postcopy startup in migration thread Dr. David Alan Gilbert (git)
2015-03-23  4:20   ` David Gibson
2015-03-26 11:05     ` Dr. David Alan Gilbert
2015-03-30  8:31       ` Paolo Bonzini
2015-04-13 11:35         ` Dr. David Alan Gilbert
2015-04-13 13:26           ` Paolo Bonzini
2015-04-13 14:58             ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 31/45] Postcopy end in migration_thread Dr. David Alan Gilbert (git)
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 32/45] Page request: Add MIG_RP_CMD_REQ_PAGES reverse command Dr. David Alan Gilbert (git)
2015-03-23  5:00   ` David Gibson
2015-03-25 18:16     ` Dr. David Alan Gilbert
2015-03-26  1:28       ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 33/45] Page request: Process incoming page request Dr. David Alan Gilbert (git)
2015-03-24  1:53   ` David Gibson
2015-03-25 17:37     ` Dr. David Alan Gilbert
2015-03-26  1:31       ` David Gibson
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 34/45] Page request: Consume pages off the post-copy queue Dr. David Alan Gilbert (git)
2015-03-24  2:15   ` David Gibson
2015-06-16 10:48     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 35/45] postcopy_ram.c: place_page and helpers Dr. David Alan Gilbert (git)
2015-03-24  2:33   ` David Gibson
2015-03-25 17:46     ` Dr. David Alan Gilbert
2015-02-25 16:51 ` [Qemu-devel] [PATCH v5 36/45] Postcopy: Use helpers to map pages during migration Dr. David Alan Gilbert (git)
2015-03-24  4:51   ` David Gibson
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 37/45] qemu_ram_block_from_host Dr. David Alan Gilbert (git)
2015-03-24  4:55   ` David Gibson
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 38/45] Don't sync dirty bitmaps in postcopy Dr. David Alan Gilbert (git)
2015-03-24  4:58   ` David Gibson
2015-03-24  9:05     ` Dr. David Alan Gilbert
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 39/45] Host page!=target page: Cleanup bitmaps Dr. David Alan Gilbert (git)
2015-03-24  5:23   ` David Gibson
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 40/45] Postcopy; Handle userfault requests Dr. David Alan Gilbert (git)
2015-03-24  5:38   ` David Gibson
2015-03-26 11:59     ` Dr. David Alan Gilbert
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 41/45] Start up a postcopy/listener thread ready for incoming page data Dr. David Alan Gilbert (git)
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 42/45] postcopy: Wire up loadvm_postcopy_handle_{run, end} commands Dr. David Alan Gilbert (git)
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 43/45] End of migration for postcopy Dr. David Alan Gilbert (git)
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 44/45] Disable mlock around incoming postcopy Dr. David Alan Gilbert (git)
2015-03-23  4:33   ` David Gibson
2015-02-25 16:52 ` [Qemu-devel] [PATCH v5 45/45] Inhibit ballooning during postcopy Dr. David Alan Gilbert (git)
2015-03-23  4:32   ` David Gibson
2015-03-23 12:21     ` Dr. David Alan Gilbert
2015-03-24  1:25       ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150313101953.GA2486@work-vm \
    --to=dgilbert@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=yamahata@private.email.ne.jp \
    --cc=yanghy@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.