From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37710) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWPB6-0007Hm-B8 for qemu-devel@nongnu.org; Fri, 13 Mar 2015 08:59:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YWPB3-0003Ug-JO for qemu-devel@nongnu.org; Fri, 13 Mar 2015 08:59:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43324) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWPB3-0003UL-Cu for qemu-devel@nongnu.org; Fri, 13 Mar 2015 08:58:57 -0400 Date: Fri, 13 Mar 2015 12:58:38 +0000 From: "Dr. David Alan Gilbert" Message-ID: <20150313125838.GH2486@work-vm> References: <1424883128-9841-1-git-send-email-dgilbert@redhat.com> <1424883128-9841-17-git-send-email-dgilbert@redhat.com> <20150312061433.GV11973@voom.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150312061433.GV11973@voom.redhat.com> Subject: Re: [Qemu-devel] [PATCH v5 16/45] Add migration-capability boolean for postcopy-ram. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson 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 * David Gibson (david@gibson.dropbear.id.au) wrote: > On Wed, Feb 25, 2015 at 04:51:39PM +0000, Dr. David Alan Gilbert (git) wrote: > > From: "Dr. David Alan Gilbert" > > This absolutely needs a commit message. I shouldn't have to look at > the code to find out what the presence of this capability asserts, and > from where to where it's communicating that information. OK, how about: The 'postcopy ram' flag allows postcopy migration of RAM; note that the migration starts off in precopy mode until postcopy mode is triggered (see the migrate_start_postcopy patch later in the series). > > Signed-off-by: Dr. David Alan Gilbert > > Reviewed-by: Eric Blake > > --- > > include/migration/migration.h | 1 + > > migration/migration.c | 9 +++++++++ > > qapi-schema.json | 7 ++++++- > > 3 files changed, 16 insertions(+), 1 deletion(-) > > > > diff --git a/include/migration/migration.h b/include/migration/migration.h > > index 751caa0..f94af5b 100644 > > --- a/include/migration/migration.h > > +++ b/include/migration/migration.h > > @@ -177,6 +177,7 @@ void migrate_add_blocker(Error *reason); > > */ > > void migrate_del_blocker(Error *reason); > > > > +bool migrate_postcopy_ram(void); > > bool migrate_rdma_pin_all(void); > > bool migrate_zero_blocks(void); > > > > diff --git a/migration/migration.c b/migration/migration.c > > index 4592060..434864a 100644 > > --- a/migration/migration.c > > +++ b/migration/migration.c > > @@ -663,6 +663,15 @@ bool migrate_rdma_pin_all(void) > > return s->enabled_capabilities[MIGRATION_CAPABILITY_RDMA_PIN_ALL]; > > } > > > > +bool migrate_postcopy_ram(void) > > +{ > > + MigrationState *s; > > + > > + s = migrate_get_current(); > > + > > + return s->enabled_capabilities[MIGRATION_CAPABILITY_X_POSTCOPY_RAM]; > > As an asside, I'm assuming you'll get rid of these "x-" prefixes > before you post a series intended for final inclusion? I was going to do that as a final patch that removed the x-. Dave > > > +} > > + > > bool migrate_auto_converge(void) > > { > > MigrationState *s; > > diff --git a/qapi-schema.json b/qapi-schema.json > > index e16f8eb..a8af1cb 100644 > > --- a/qapi-schema.json > > +++ b/qapi-schema.json > > @@ -494,10 +494,15 @@ > > # @auto-converge: If enabled, QEMU will automatically throttle down the guest > > # to speed up convergence of RAM migration. (since 1.6) > > # > > +# @x-postcopy-ram: Start executing on the migration target before all of RAM has > > +# been migrated, pulling the remaining pages along as needed. NOTE: If > > +# the migration fails during postcopy the VM will fail. (since 2.3) > > +# > > # Since: 1.2 > > ## > > { 'enum': 'MigrationCapability', > > - 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks'] } > > + 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks', > > + 'x-postcopy-ram'] } > > > > ## > > # @MigrationCapabilityStatus > > -- > 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