qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] Postcopy fix and x- removal
@ 2016-03-09 19:50 Dr. David Alan Gilbert (git)
  2016-03-09 19:50 ` [Qemu-devel] [PATCH 1/2] postcopy: listen thread is never joined Dr. David Alan Gilbert (git)
  2016-03-09 19:50 ` [Qemu-devel] [PATCH 2/2] postcopy: Remove the x- Dr. David Alan Gilbert (git)
  0 siblings, 2 replies; 6+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2016-03-09 19:50 UTC (permalink / raw)
  To: qemu-devel, amit.shah, quintela, jdenemar

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

Hi,
  This fix should go after Denis's use-after-free fix.
The first one is a minor bug fix that Paolo spotted.
The second removes the 'x-' experimental prefix now that
things seem to be running OK, and Jiri has libvirt
working with it.

Dave

Dr. David Alan Gilbert (2):
  postcopy: listen thread is never joined
  postcopy: Remove the x-

 docs/migration.txt    | 2 +-
 hmp-commands.hx       | 2 +-
 migration/migration.c | 4 ++--
 migration/savevm.c    | 2 +-
 qapi-schema.json      | 6 +++---
 qmp-commands.hx       | 6 +++---
 6 files changed, 11 insertions(+), 11 deletions(-)

-- 
2.5.0

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

* [Qemu-devel] [PATCH 1/2] postcopy: listen thread is never joined
  2016-03-09 19:50 [Qemu-devel] [PATCH 0/2] Postcopy fix and x- removal Dr. David Alan Gilbert (git)
@ 2016-03-09 19:50 ` Dr. David Alan Gilbert (git)
  2016-03-09 20:11   ` Eric Blake
  2016-03-09 19:50 ` [Qemu-devel] [PATCH 2/2] postcopy: Remove the x- Dr. David Alan Gilbert (git)
  1 sibling, 1 reply; 6+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2016-03-09 19:50 UTC (permalink / raw)
  To: qemu-devel, amit.shah, quintela, jdenemar

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

We don't join the listen thread, it does it's own cleanup.
Mark as detached not joinable.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reported-by: Paolo Bonzini <pbonzini@redhat.com>
---
 migration/savevm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/savevm.c b/migration/savevm.c
index 384e872..0a33c22 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1494,7 +1494,7 @@ static int loadvm_postcopy_handle_listen(MigrationIncomingState *mis)
     qemu_sem_init(&mis->listen_thread_sem, 0);
     qemu_thread_create(&mis->listen_thread, "postcopy/listen",
                        postcopy_ram_listen_thread, mis->from_src_file,
-                       QEMU_THREAD_JOINABLE);
+                       QEMU_THREAD_DETACHED);
     qemu_sem_wait(&mis->listen_thread_sem);
     qemu_sem_destroy(&mis->listen_thread_sem);
 
-- 
2.5.0

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

* [Qemu-devel] [PATCH 2/2] postcopy: Remove the x-
  2016-03-09 19:50 [Qemu-devel] [PATCH 0/2] Postcopy fix and x- removal Dr. David Alan Gilbert (git)
  2016-03-09 19:50 ` [Qemu-devel] [PATCH 1/2] postcopy: listen thread is never joined Dr. David Alan Gilbert (git)
@ 2016-03-09 19:50 ` Dr. David Alan Gilbert (git)
  2016-03-09 20:13   ` Eric Blake
  1 sibling, 1 reply; 6+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2016-03-09 19:50 UTC (permalink / raw)
  To: qemu-devel, amit.shah, quintela, jdenemar

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

Postcopy seems to have survived a cycle with only a few fixes,
and Jiri has the current libvirt wired up and working
( https://www.redhat.com/archives/libvir-list/2016-March/msg00080.html )
so lets remove the experimental tag.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 docs/migration.txt    | 2 +-
 hmp-commands.hx       | 2 +-
 migration/migration.c | 4 ++--
 qapi-schema.json      | 6 +++---
 qmp-commands.hx       | 6 +++---
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/docs/migration.txt b/docs/migration.txt
index fda8d61..90209ab 100644
--- a/docs/migration.txt
+++ b/docs/migration.txt
@@ -333,7 +333,7 @@ doesn't finish in a given time the switch is made to postcopy.
 To enable postcopy, issue this command on the monitor prior to the
 start of migration:
 
-migrate_set_capability x-postcopy-ram on
+migrate_set_capability postcopy-ram on
 
 The normal commands are then used to start a migration, which is still
 started in precopy mode.  Issuing:
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 664d794..639205b 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1026,7 +1026,7 @@ ETEXI
         .args_type  = "",
         .params     = "",
         .help       = "Followup to a migration command to switch the migration"
-                      " to postcopy mode. The x-postcopy-ram capability must "
+                      " to postcopy mode. The 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 7d13377..34e0c22 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -706,7 +706,7 @@ void qmp_migrate_set_capabilities(MigrationCapabilityStatusList *params,
              */
             error_report("Postcopy is not currently compatible with "
                          "compression");
-            s->enabled_capabilities[MIGRATION_CAPABILITY_X_POSTCOPY_RAM] =
+            s->enabled_capabilities[MIGRATION_CAPABILITY_POSTCOPY_RAM] =
                 false;
         }
     }
@@ -1125,7 +1125,7 @@ bool migrate_postcopy_ram(void)
 
     s = migrate_get_current();
 
-    return s->enabled_capabilities[MIGRATION_CAPABILITY_X_POSTCOPY_RAM];
+    return s->enabled_capabilities[MIGRATION_CAPABILITY_POSTCOPY_RAM];
 }
 
 bool migrate_auto_converge(void)
diff --git a/qapi-schema.json b/qapi-schema.json
index 362c9d8..69e01a4 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -540,7 +540,7 @@
 # @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
+# @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.5)
 #
@@ -548,7 +548,7 @@
 ##
 { 'enum': 'MigrationCapability',
   'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
-           'compress', 'events', 'x-postcopy-ram'] }
+           'compress', 'events', 'postcopy-ram'] }
 
 ##
 # @MigrationCapabilityStatus
@@ -705,7 +705,7 @@
 # @migrate-start-postcopy
 #
 # Followup to a migration command to switch the migration to postcopy mode.
-# The x-postcopy-ram capability must be set before the original migration
+# The postcopy-ram capability must be set before the original migration
 # command.
 #
 # Since: 2.5
diff --git a/qmp-commands.hx b/qmp-commands.hx
index b629673..9e05365 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -3683,7 +3683,7 @@ Enable/Disable migration capabilities
 - "zero-blocks": compress zero blocks during block migration
 - "compress": use multiple compression threads to accelerate live migration
 - "events": generate events for each migration state change
-- "x-postcopy-ram": postcopy mode for live migration
+- "postcopy-ram": postcopy mode for live migration
 
 Arguments:
 
@@ -3713,7 +3713,7 @@ Query current migration capabilities
          - "zero-blocks" : Zero Blocks state (json-bool)
          - "compress": Multiple compression threads state (json-bool)
          - "events": Migration state change event state (json-bool)
-         - "x-postcopy-ram": postcopy ram state (json-bool)
+         - "postcopy-ram": postcopy ram state (json-bool)
 
 Arguments:
 
@@ -3727,7 +3727,7 @@ Example:
      {"state": false, "capability": "zero-blocks"},
      {"state": false, "capability": "compress"},
      {"state": true, "capability": "events"},
-     {"state": false, "capability": "x-postcopy-ram"}
+     {"state": false, "capability": "postcopy-ram"}
    ]}
 
 EQMP
-- 
2.5.0

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

* Re: [Qemu-devel] [PATCH 1/2] postcopy: listen thread is never joined
  2016-03-09 19:50 ` [Qemu-devel] [PATCH 1/2] postcopy: listen thread is never joined Dr. David Alan Gilbert (git)
@ 2016-03-09 20:11   ` Eric Blake
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Blake @ 2016-03-09 20:11 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git), qemu-devel, amit.shah, quintela,
	jdenemar

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

On 03/09/2016 12:50 PM, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> We don't join the listen thread, it does it's own cleanup.

s/it's/its/

("it's" is appropriate only if "it is" can be dropped in its place;
otherwise you want the possessive "its").

> Mark as detached not joinable.
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Reported-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  migration/savevm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* Re: [Qemu-devel] [PATCH 2/2] postcopy: Remove the x-
  2016-03-09 19:50 ` [Qemu-devel] [PATCH 2/2] postcopy: Remove the x- Dr. David Alan Gilbert (git)
@ 2016-03-09 20:13   ` Eric Blake
  2016-03-09 20:16     ` Dr. David Alan Gilbert
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Blake @ 2016-03-09 20:13 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git), qemu-devel, amit.shah, quintela,
	jdenemar

[-- Attachment #1: Type: text/plain, Size: 1465 bytes --]

On 03/09/2016 12:50 PM, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> Postcopy seems to have survived a cycle with only a few fixes,
> and Jiri has the current libvirt wired up and working
> ( https://www.redhat.com/archives/libvir-list/2016-March/msg00080.html )
> so lets remove the experimental tag.

s/lets/let's/ (in this case, you are contracting "let us")

Does the balance of the universe stay the same by moving the apostrophe
from 1/2 into this one?  :)

> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---

> +++ b/qapi-schema.json
> @@ -540,7 +540,7 @@
>  # @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
> +# @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.5)

s/2.5/2.6/ - we want to advertise when the non-experimental name existed
(compare to commit 6575ccdd dropping the x- from input-send-event).

With that tweak,
Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* Re: [Qemu-devel] [PATCH 2/2] postcopy: Remove the x-
  2016-03-09 20:13   ` Eric Blake
@ 2016-03-09 20:16     ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 6+ messages in thread
From: Dr. David Alan Gilbert @ 2016-03-09 20:16 UTC (permalink / raw)
  To: Eric Blake; +Cc: amit.shah, jdenemar, qemu-devel, quintela

* Eric Blake (eblake@redhat.com) wrote:
> On 03/09/2016 12:50 PM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > 
> > Postcopy seems to have survived a cycle with only a few fixes,
> > and Jiri has the current libvirt wired up and working
> > ( https://www.redhat.com/archives/libvir-list/2016-March/msg00080.html )
> > so lets remove the experimental tag.
> 
> s/lets/let's/ (in this case, you are contracting "let us")

Thanks.

> Does the balance of the universe stay the same by moving the apostrophe
> from 1/2 into this one?  :)

Damn, you've figured out my scheme.

> 
> > 
> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > ---
> 
> > +++ b/qapi-schema.json
> > @@ -540,7 +540,7 @@
> >  # @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
> > +# @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.5)
> 
> s/2.5/2.6/ - we want to advertise when the non-experimental name existed
> (compare to commit 6575ccdd dropping the x- from input-send-event).
> 
> With that tweak,
> Reviewed-by: Eric Blake <eblake@redhat.com>
> 
> -- 
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
> 


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

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

end of thread, other threads:[~2016-03-09 20:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-09 19:50 [Qemu-devel] [PATCH 0/2] Postcopy fix and x- removal Dr. David Alan Gilbert (git)
2016-03-09 19:50 ` [Qemu-devel] [PATCH 1/2] postcopy: listen thread is never joined Dr. David Alan Gilbert (git)
2016-03-09 20:11   ` Eric Blake
2016-03-09 19:50 ` [Qemu-devel] [PATCH 2/2] postcopy: Remove the x- Dr. David Alan Gilbert (git)
2016-03-09 20:13   ` Eric Blake
2016-03-09 20:16     ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).