qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] rdma: rename 'x-rdma' => 'rdma'
@ 2013-10-26 20:03 mrhines
  2013-11-05 22:19 ` Eric Blake
  0 siblings, 1 reply; 3+ messages in thread
From: mrhines @ 2013-10-26 20:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: aliguori, quintela, owasserm, onom, abali, mrhines, gokul,
	pbonzini, chegu_vinod

From: "Michael R. Hines" <mrhines@us.ibm.com>

As far as we can tell, all known bugs have been fixed:

1. Parallel RDMA migrations are working
2. IPv6 migration is working
3. Libvirt patches are ready
4. virt-test is working

Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
---
 docs/rdma.txt    |   24 ++++++++++--------------
 migration-rdma.c |    2 +-
 migration.c      |    6 +++---
 qapi-schema.json |    4 ++--
 4 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/docs/rdma.txt b/docs/rdma.txt
index 8d1e003..c559f9a 100644
--- a/docs/rdma.txt
+++ b/docs/rdma.txt
@@ -66,7 +66,7 @@ bulk-phase round of the migration and can be enabled for extremely
 high-performance RDMA hardware using the following command:
 
 QEMU Monitor Command:
-$ migrate_set_capability x-rdma-pin-all on # disabled by default
+$ migrate_set_capability rdma-pin-all on # disabled by default
 
 Performing this action will cause all 8GB to be pinned, so if that's
 not what you want, then please ignore this step altogether.
@@ -93,12 +93,12 @@ $ migrate_set_speed 40g # or whatever is the MAX of your RDMA device
 
 Next, on the destination machine, add the following to the QEMU command line:
 
-qemu ..... -incoming x-rdma:host:port
+qemu ..... -incoming rdma:host:port
 
 Finally, perform the actual migration on the source machine:
 
 QEMU Monitor Command:
-$ migrate -d x-rdma:host:port
+$ migrate -d rdma:host:port
 
 PERFORMANCE
 ===========
@@ -120,8 +120,8 @@ For example, in the same 8GB RAM example with all 8GB of memory in
 active use and the VM itself is completely idle using the same 40 gbps
 infiniband link:
 
-1. x-rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5 Gbps
-2. x-rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps
+1. rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5 Gbps
+2. rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps
 
 These numbers would of course scale up to whatever size virtual machine
 you have to migrate using RDMA.
@@ -407,18 +407,14 @@ socket is broken during a non-RDMA based migration.
 
 TODO:
 =====
-1. 'migrate x-rdma:host:port' and '-incoming x-rdma' options will be
-   renamed to 'rdma' after the experimental phase of this work has
-   completed upstream.
-2. Currently, 'ulimit -l' mlock() limits as well as cgroups swap limits
+1. Currently, 'ulimit -l' mlock() limits as well as cgroups swap limits
    are not compatible with infinband memory pinning and will result in
    an aborted migration (but with the source VM left unaffected).
-3. Use of the recent /proc/<pid>/pagemap would likely speed up
+2. Use of the recent /proc/<pid>/pagemap would likely speed up
    the use of KSM and ballooning while using RDMA.
-4. Also, some form of balloon-device usage tracking would also
+3. Also, some form of balloon-device usage tracking would also
    help alleviate some issues.
-5. Move UNREGISTER requests to a separate thread.
-6. Use LRU to provide more fine-grained direction of UNREGISTER
+4. Use LRU to provide more fine-grained direction of UNREGISTER
    requests for unpinning memory in an overcommitted environment.
-7. Expose UNREGISTER support to the user by way of workload-specific
+5. Expose UNREGISTER support to the user by way of workload-specific
    hints about application behavior.
diff --git a/migration-rdma.c b/migration-rdma.c
index f94f3b4..eeb4302 100644
--- a/migration-rdma.c
+++ b/migration-rdma.c
@@ -3412,7 +3412,7 @@ void rdma_start_outgoing_migration(void *opaque,
     }
 
     ret = qemu_rdma_source_init(rdma, &local_err,
-        s->enabled_capabilities[MIGRATION_CAPABILITY_X_RDMA_PIN_ALL]);
+        s->enabled_capabilities[MIGRATION_CAPABILITY_RDMA_PIN_ALL]);
 
     if (ret) {
         goto err;
diff --git a/migration.c b/migration.c
index b4f8462..d9c7a62 100644
--- a/migration.c
+++ b/migration.c
@@ -81,7 +81,7 @@ void qemu_start_incoming_migration(const char *uri, Error **errp)
     if (strstart(uri, "tcp:", &p))
         tcp_start_incoming_migration(p, errp);
 #ifdef CONFIG_RDMA
-    else if (strstart(uri, "x-rdma:", &p))
+    else if (strstart(uri, "rdma:", &p))
         rdma_start_incoming_migration(p, errp);
 #endif
 #if !defined(WIN32)
@@ -423,7 +423,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
     if (strstart(uri, "tcp:", &p)) {
         tcp_start_outgoing_migration(s, p, &local_err);
 #ifdef CONFIG_RDMA
-    } else if (strstart(uri, "x-rdma:", &p)) {
+    } else if (strstart(uri, "rdma:", &p)) {
         rdma_start_outgoing_migration(s, p, &local_err);
 #endif
 #if !defined(WIN32)
@@ -501,7 +501,7 @@ bool migrate_rdma_pin_all(void)
 
     s = migrate_get_current();
 
-    return s->enabled_capabilities[MIGRATION_CAPABILITY_X_RDMA_PIN_ALL];
+    return s->enabled_capabilities[MIGRATION_CAPABILITY_RDMA_PIN_ALL];
 }
 
 bool migrate_auto_converge(void)
diff --git a/qapi-schema.json b/qapi-schema.json
index 145eca8..4bae4b1 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -615,7 +615,7 @@
 #          This feature allows us to minimize migration traffic for certain work
 #          loads, by sending compressed difference of the pages
 #
-# @x-rdma-pin-all: Controls whether or not the entire VM memory footprint is
+# @rdma-pin-all: Controls whether or not the entire VM memory footprint is
 #          mlock()'d on demand or all at once. Refer to docs/rdma.txt for usage.
 #          Disabled by default. Experimental: may (or may not) be renamed after
 #          further testing is complete. (since 1.6)
@@ -632,7 +632,7 @@
 # Since: 1.2
 ##
 { 'enum': 'MigrationCapability',
-  'data': ['xbzrle', 'x-rdma-pin-all', 'auto-converge', 'zero-blocks'] }
+  'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks'] }
 
 ##
 # @MigrationCapabilityStatus
-- 
1.7.10.4

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

* Re: [Qemu-devel] [PATCH v2] rdma: rename 'x-rdma' => 'rdma'
  2013-10-26 20:03 [Qemu-devel] [PATCH v2] rdma: rename 'x-rdma' => 'rdma' mrhines
@ 2013-11-05 22:19 ` Eric Blake
  2013-11-06 18:54   ` Michael R. Hines
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Blake @ 2013-11-05 22:19 UTC (permalink / raw)
  To: mrhines, qemu-devel
  Cc: aliguori, quintela, owasserm, onom, abali, mrhines, gokul,
	pbonzini, chegu_vinod

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

On 10/26/2013 02:03 PM, mrhines@linux.vnet.ibm.com wrote:
> From: "Michael R. Hines" <mrhines@us.ibm.com>
> 
> As far as we can tell, all known bugs have been fixed:
> 
> 1. Parallel RDMA migrations are working
> 2. IPv6 migration is working
> 3. Libvirt patches are ready
> 4. virt-test is working
> 
> Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
> ---
>  docs/rdma.txt    |   24 ++++++++++--------------
>  migration-rdma.c |    2 +-
>  migration.c      |    6 +++---
>  qapi-schema.json |    4 ++--
>  4 files changed, 16 insertions(+), 20 deletions(-)

> +++ b/qapi-schema.json
> @@ -615,7 +615,7 @@
>  #          This feature allows us to minimize migration traffic for certain work
>  #          loads, by sending compressed difference of the pages
>  #
> -# @x-rdma-pin-all: Controls whether or not the entire VM memory footprint is
> +# @rdma-pin-all: Controls whether or not the entire VM memory footprint is
>  #          mlock()'d on demand or all at once. Refer to docs/rdma.txt for usage.
>  #          Disabled by default. Experimental: may (or may not) be renamed after
>  #          further testing is complete. (since 1.6)

This text is still out-of-date.  s/1.6/1.7/ (if we are still trying to
get it in 1.7), as well as removing mention of it being experimental.

-- 
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: 621 bytes --]

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

* Re: [Qemu-devel] [PATCH v2] rdma: rename 'x-rdma' => 'rdma'
  2013-11-05 22:19 ` Eric Blake
@ 2013-11-06 18:54   ` Michael R. Hines
  0 siblings, 0 replies; 3+ messages in thread
From: Michael R. Hines @ 2013-11-06 18:54 UTC (permalink / raw)
  To: Eric Blake
  Cc: quintela, qemu-devel, owasserm, onom, abali, mrhines, gokul,
	pbonzini, chegu_vinod

On 11/05/2013 05:19 PM, Eric Blake wrote:
> On 10/26/2013 02:03 PM, mrhines@linux.vnet.ibm.com wrote:
>> From: "Michael R. Hines" <mrhines@us.ibm.com>
>>
>> As far as we can tell, all known bugs have been fixed:
>>
>> 1. Parallel RDMA migrations are working
>> 2. IPv6 migration is working
>> 3. Libvirt patches are ready
>> 4. virt-test is working
>>
>> Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
>> ---
>>   docs/rdma.txt    |   24 ++++++++++--------------
>>   migration-rdma.c |    2 +-
>>   migration.c      |    6 +++---
>>   qapi-schema.json |    4 ++--
>>   4 files changed, 16 insertions(+), 20 deletions(-)
>> +++ b/qapi-schema.json
>> @@ -615,7 +615,7 @@
>>   #          This feature allows us to minimize migration traffic for certain work
>>   #          loads, by sending compressed difference of the pages
>>   #
>> -# @x-rdma-pin-all: Controls whether or not the entire VM memory footprint is
>> +# @rdma-pin-all: Controls whether or not the entire VM memory footprint is
>>   #          mlock()'d on demand or all at once. Refer to docs/rdma.txt for usage.
>>   #          Disabled by default. Experimental: may (or may not) be renamed after
>>   #          further testing is complete. (since 1.6)
> This text is still out-of-date.  s/1.6/1.7/ (if we are still trying to
> get it in 1.7), as well as removing mention of it being experimental.
>

Thanks, Erik. Very silly of me to miss that.

- Michael

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

end of thread, other threads:[~2013-11-06 18:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-26 20:03 [Qemu-devel] [PATCH v2] rdma: rename 'x-rdma' => 'rdma' mrhines
2013-11-05 22:19 ` Eric Blake
2013-11-06 18:54   ` Michael R. Hines

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).