[Qemu-devel] [RFC PATCH v2 00/12] mc: fault tolerante through micro-checkpointing

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes since v1: 1. Re-based against Juan's improved migration_bitmap performance changes 2. Overhauled RDMA support to prepare for better usage of RDMA in other parts of the QEMU code base (such as storage). 3. Fix for netlink issues that failed to

[Qemu-devel] [RFC PATCH v2 02/12] mc: timestamp migration_bitmap and KVM logdirty usage

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com We also later export these statistics over QMP for better monitoring of micro-checkpointing as the workload changes. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- arch_init.c | 34 -- 1 file changed, 28

[Qemu-devel] [RFC PATCH v2 07/12] mc: introduce additional QMP statistics for micro-checkpointing

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com MC provides a lot of new information, including the same RAM statistics that ordinary migration does, so we centralize a lot of that printing code into a common function so that the QMP printing statements don't get duplicated too much. We also introduce

[Qemu-devel] [RFC PATCH v2 01/12] mc: add documentation for micro-checkpointing

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Wiki: http://wiki.qemu.org/Features/MicroCheckpointing Github: g...@github.com:hinesmr/qemu.git, 'mc' branch NOTE: This is a direct copy of the QEMU wiki page for the convenience of the review process. Since this series very much in flux, instead of

[Qemu-devel] [RFC PATCH v2 03/12] mc: introduce a 'checkpointing' status check into the VCPU states

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com During micro-checkpointing, the VCPUs get repeatedly paused and resumed. We need to not freak out when the VM begins micro-checkpointing. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- cpus.c| 9 -

[Qemu-devel] [RFC PATCH v2 11/12] mc: introduce new capabilities to control micro-checkpointing

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com New capabilities include the use of RDMA acceleration, use of network buffering, and keepalive support, as documented in patch #1. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- qapi-schema.json | 36 +++- 1 file

[Qemu-devel] [RFC PATCH v2 08/12] mc: core logic

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This implements the core logic, all described in the first patch (docs/mc.txt). Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-checkpoint.c | 1565 1 file changed, 1565 insertions(+)

[Qemu-devel] [RFC PATCH v2 04/12] mc: support custom page loading and copying

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Just as RDMA has custom routines for saving memory, this provides RDMA with custom routines for loading and copying memory as well. Micro-checkpointing needs this support to avoid modifying the arch_init.c as little as possible while stilling being able

[Qemu-devel] [RFC PATCH v2 09/12] mc: configure and makefile support

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Self-explanatory. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- Makefile.objs | 1 + configure | 45 + 2 files changed, 46 insertions(+) diff --git a/Makefile.objs b/Makefile.objs index

[Qemu-devel] [RFC PATCH v2 06/12] mc: introduce state machine changes for MC

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch sets up the initial changes to the migration state machine and prototypes to be used by the checkpointing code to interact with the state machine so that we can later handle failure and recovery scenarios. Signed-off-by: Michael R. Hines

[Qemu-devel] [RFC PATCH v2 10/12] mc: expose tunable parameter for checkpointing frequency

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This exposes a QMP command that allows the management software or policy to control the frequency of micro-checkpointing. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- hmp-commands.hx | 16 +++- hmp.c| 6 ++ hmp.h

[Qemu-devel] [RFC PATCH v2 12/12] mc: activate and use MC if requested

2014-02-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Once the initial migration has completed, we kickoff the migration_thread, which never dies. Additionally, we register load/save functions for MC which allow us to inform the destination that we are requesting a micro-checkpointing session without needing

[Qemu-devel] [PATCH] rdma: bug fixes

2014-02-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com 1. Fix small memory leak in parsing inet address from command line in data_init() 2. Fix ibv_post_send() return value check and pass error code back up correctly. 3. Fix rdma_destroy_qp() segfault after failure to connect to destination. Reported-by:

[Qemu-devel] [PATCH v6 resend] rdma: rename 'x-rdma' = 'rdma'

2014-02-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes since v5: 1. Rebased against master 2. Added review tags As far as we can tell, all known bugs have been fixed: 1. Parallel migrations are working 2. IPv6 migration is working 3. virt-test is working Preliminary versions of libvirt support are

[Qemu-devel] [RFC PATCH v1 2/3] provenance: serialize MigrationInfo across the wire

2014-02-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com At the end of the migration, we use the existing QMP json manipulation functions and the query-migrate QMP function to serialize the MigrationInfo structure that was populated in the 'COMPLETED' state of the migration. This code does not need to know

[Qemu-devel] [RFC PATCH v1 0/3] provenance: save migration stats after completion to destination

2014-02-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This series allows us to send the contents of the entire MigrationInfo structure to the destination once the migration is over. This is very useful for analyzing the result of a migration, and particularly useful for management software and policy.

[Qemu-devel] [RFC PATCH v1 1/3] provenance: QMP command to store MigrationInfo from JSON

2014-02-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This is the QMP documentation and schema for a command that allows the migration protocol on the destination side to 'install' a whole MigrationInfo json structure as received in-tact from the source into the MigrationState struct so that query-migrate

[Qemu-devel] [RFC PATCH v1 3/3] provenance: expose the serialization save/load functions for migration

2014-02-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Expose the prototypes of the serialization code and register the save/load functions during QEMU startup so that they can take effect. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- include/migration/migration.h | 8 vl.c

[Qemu-devel] [PATCH v5] rdma: rename 'x-rdma' = 'rdma'

2013-12-18 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As far as we can tell, all known bugs have been fixed: 1. Parallel migrations are working 2. IPv6 migration is working 3. virt-test is working I'm not comfortable sending the revised libvirt patch until this is accepted or review suggestions are

[Qemu-devel] [PATCH v4 resend] rdma: rename 'x-rdma' = 'rdma'

2013-12-17 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As far as we can tell, all known bugs have been fixed: 1. Parallel migrations are working 2. IPv6 migration is working 3. virt-test is working I'm not comfortable sending the revised libvirt patch until this is accepted or review suggestions are

[Qemu-devel] [PATCH v3 for-1.7 resend] rdma: rename 'x-rdma' = 'rdma'

2013-11-22 Thread mrhines
From: Michael R. Hines mrhi...@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 Objections? Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by:

[Qemu-devel] [PATCH v3 for-1.7] rdma: rename 'x-rdma' = 'rdma'

2013-11-06 Thread mrhines
From: Michael R. Hines mrhi...@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 Objections? Signed-off-by: Michael R. Hines mrhi...@us.ibm.com ---

[Qemu-devel] [PATCH v2] rdma: rename 'x-rdma' = 'rdma'

2013-10-26 Thread mrhines
From: Michael R. Hines mrhi...@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 mrhi...@us.ibm.com --- docs/rdma.txt|

[Qemu-devel] [PATCH] rdma: rename 'x-rdma' = 'rdma'

2013-10-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As far as we can tell, all known bugs have been fixed, there as been very good participation in testing and running. 1. Parallel RDMA migrations are working 2. IPv6 migration is working 3. Libvirt patches are ready 4. virt-test is working Any objections

[Qemu-devel] [RFC PATCH v1: 02/12] rdma: remove reference to github.com

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- docs/rdma.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/rdma.txt b/docs/rdma.txt index 2aca63b..6d116e2 100644 --- a/docs/rdma.txt +++ b/docs/rdma.txt @@ -2,7 +2,6 @@ RDMA Live

[Qemu-devel] [RFC PATCH v1: 00/12] fault tolerance through micro-checkpointing

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch implements RDMA-aware fault tolerance for the VM using Micro-Checkpointing (to be presented at the KVM Forum). The breakout of the patches is not ideal and is really meant to kick things off for review, which will likely extend well past 1.7

[Qemu-devel] [RFC PATCH v1: 04/12] mc: introduce a checkpointing status check into the VCPU states

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com During micro-checkpointing, the VCPUs get repeatedly paused and resumed. We need to not freak out when the VM begins micro-checkpointing. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- arch_init.c | 2 +- cpus.c

[Qemu-devel] [RFC PATCH v1: 03/12] migration: introduce parallelization of migration_bitmap

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch allows the preparation of the migration_bitmap to be parallelized. For very large VMs, this can take on the order of 10s of milliseconds, which translates as downtime. We count the number of cores first, and then handout chunks of the logdirty

[Qemu-devel] [RFC PATCH v1: 01/12] mc: add documentation for micro-checkpointing

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- docs/mc.txt | 261 1 file changed, 261 insertions(+) create mode 100644 docs/mc.txt diff --git a/docs/mc.txt b/docs/mc.txt new file

[Qemu-devel] [RFC PATCH v1: 10/12] mc: configure and makefile support

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- Makefile.objs | 1 + configure | 45 + 2 files changed, 46 insertions(+) diff --git a/Makefile.objs b/Makefile.objs index 2b6c1fe..15356d6 100644

[Qemu-devel] [RFC PATCH v1: 07/12] mc: introduce state machine error handling and migration_bitmap prep

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Since MC will repeatedly call the pre-existing live migration call path over and over again (forever), the migration_bitmap initialization only needs to happen once and the destruction of the bitmap needs to be avoided in successive checkpoints. Also,

[Qemu-devel] [RFC PATCH v1: 08/12] mc: modified QMP statistics and migration_thread handoff

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com In addition to better handling of new QMP statistics associated with the migration_bitmap and MC performance, we need to transfer control from the migration thread to the MC thread more cleanly, which means dynamically allocating the threads and doing the

[Qemu-devel] [RFC PATCH v1: 09/12] mc: core logic

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This implements the core logic, all described in docs/mc.txt Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-checkpoint.c | 1589 1 file changed, 1589 insertions(+) create mode 100644

[Qemu-devel] [RFC PATCH v1: 12/12] mc: activate and use MC core logic if requested

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Building on the previous patches, this finally actually activates protection of the VM by kicking off an MC thread after the initial live migration completes. The live migration thread will get destroyed and the MC thread will run and never die.

[Qemu-devel] [RFC PATCH v1: 11/12] mc: register MC qemu-file functions and expose MC tunable capability

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com The capability allows management software to throttle the MC frequency during VM application transience. The qemu-file savevm() functions inform the destination that the incoming traffic is MC-specific traffic and not vanilla live-migration traffic.

[Qemu-devel] [RFC PATCH v1: 05/12] migration: support custom page loading

2013-10-20 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Just as RDMA has custom routines for saving memory, this provides us with custom routines for loading memory. Micro-checkpointing needs this support in order to be able to handle loading of the latest checkpoint into memory as they are received from the

[Qemu-devel] [PATCH for-1.6] rdma: silly ipv6 bugfix

2013-08-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com My bad - but it's very important for us to warn the user that IPv6 is broken on RoCE in linux right now, until linux releases a fixed version. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c |8 +--- 1 file changed, 5

[Qemu-devel] [PATCH v2 for-1.6 4/6] rdma: proper getaddrinfo() handling

2013-08-09 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com getaddrinfo() already knows what it's doing, but it can potentially return multiple addresses. We need to handle that... Reviewed-by: Orit Wasserman owass...@redhat.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c | 56

[Qemu-devel] [PATCH v2 for-1.6 6/6] rdma: remaining documentation fixes

2013-08-09 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Was missing 'setup-time' in some of the QMP documentation... Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- qmp-commands.hx | 10 ++ 1 file changed, 10 insertions(+) diff --git a/qmp-commands.hx b/qmp-commands.hx index

[Qemu-devel] [PATCH v2 for-1.6 2/6] rdma: validate RDMAControlHeader::len

2013-08-09 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp RMDAControlHeader::len is provided from remote, so validate it. Reviewed-by: Orit Wasserman owass...@redhat.com Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata yamah...@private.email.ne.jp Signed-off-by: Michael R.

[Qemu-devel] [PATCH v2 for-1.6 3/6] rdma: check if RDMAControlHeader::len match transferred byte

2013-08-09 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp RDMAControlHeader::len is provided from remote, so check if the value match the actual transferred byte_len. Reviewed-by: Orit Wasserman owass...@redhat.com Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata

[Qemu-devel] [PATCH v2 for-1.6 1/6] rdma: use resp.len after validation in qemu_rdma_registration_stop

2013-08-09 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp resp.len is given from remote host. So should be validated before use. Otherwise memcpy can access beyond the buffer. Cc: Michael R. Hines mrhi...@us.ibm.com Reviewed-by: Orit Wasserman owass...@redhat.com Reviewed-by: Michael R. Hines

[Qemu-devel] [PATCH v2 for-1.6 5/6] rdma: IPv6 over Ethernet (RoCE) is broken in linux - workaround

2013-08-09 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com We've gotten reports from multiple testers (including Frank Yangjie and myself) that RDMA IPv6 support over RocE (Ethernet) is broken in linux. A patch to Linux is still in review: http://comments.gmane.org/gmane.linux.drivers.rdma/16448 If the user is

[Qemu-devel] [PATCH v2 for-1.6 0/6] rdma: uh oh! IPv6 broken in linux - need workaround

2013-08-09 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes since v1: 1. IPv6 support over RDMA ethernet is broken in linux right now. Although a patch is in review on linux-rdma, we need a work-around to make sure the user knows why it's not working. See PATCH 0/5 for a detailed description.

[Qemu-devel] [PATCH for-1.6 3/4] rdma: check if RDMAControlHeader::len match transferred byte

2013-08-07 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp RDMAControlHeader::len is provided from remote, so check if the value match the actual transferred byte_len. Reviewed-by: Orit Wasserman owass...@redhat.com Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata

[Qemu-devel] [PATCH for-1.6 2/4] rdma: validate RDMAControlHeader::len

2013-08-07 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp RMDAControlHeader::len is provided from remote, so validate it. Reviewed-by: Orit Wasserman owass...@redhat.com Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata yamah...@private.email.ne.jp Signed-off-by: Michael R.

[Qemu-devel] [PATCH for-1.6 0/4] rdma: additional cleanups, proper getaddrinfo() handling

2013-08-07 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Some nice buffer-overrun checks and fixing incorrect usage of getaddrinfo() Isaku Yamahata (3): rdma: use resp.len after validation in qemu_rdma_registration_stop rdma: validate RDMAControlHeader::len rdma: check if RDMAControlHeader::len match

[Qemu-devel] [PATCH for-1.6 1/4] rdma: use resp.len after validation in qemu_rdma_registration_stop

2013-08-07 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp resp.len is given from remote host. So should be validated before use. Otherwise memcpy can access beyond the buffer. Cc: Michael R. Hines mrhi...@us.ibm.com Reviewed-by: Orit Wasserman owass...@redhat.com Reviewed-by: Michael R. Hines

[Qemu-devel] [PATCH for-1.6 4/4] rdma: proper getaddrinfo() handling

2013-08-07 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com getaddrinfo() already knows what it's doing, wqand can potentially return multiple addresses. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c | 56 -- 1 file changed, 29

[Qemu-devel] [PATCH v3 For-1.6 1/7] rdma: bugfix: make IPv6 support work

2013-08-03 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com RDMA does not use sockets, so we cannot use many of the socket helper functions, but we *do* use inet_parse() which gives RDMA all the necessary details of the connection parameters. However, when testing with libvirt, a simple IPv6 migration test failed

[Qemu-devel] [PATCH v3 For-1.6 0/7] rdma: bugfixes, cleanups, IPv6 support

2013-08-03 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes: A few bug 1. IPv6 support was broken under libvirt. 2. incorrect use of error_setg() 3. DPRINTF flag was not disabled 4. Numerous other bugfixes. Isaku Yamahata (4): rdma: don't use negative index to array rdma: qemu_rdma_post_send_control

[Qemu-devel] [PATCH v3 For-1.6 6/7] rdma: use RDMA_WRID_READY

2013-08-03 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata yamah...@private.email.ne.jp Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff

[Qemu-devel] [PATCH v3 For-1.6 4/7] rdma: don't use negative index to array

2013-08-03 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata yamah...@private.email.ne.jp Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c | 27 +++ 1 file changed, 15

[Qemu-devel] [PATCH v3 For-1.6 2/7] rdma: forgot to turn off the debugging flag

2013-08-03 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Ooops. We forgot to turn off the flag. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration-rdma.c b/migration-rdma.c index 9cf73e3..fe6118d 100644 ---

[Qemu-devel] [PATCH v3 For-1.6 7/7] rdma: memory leak RDMAContext::host

2013-08-03 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp It is allocated by g_strdup(), so needs to be freed. Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata yamah...@private.email.ne.jp Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c |2 ++ 1

[Qemu-devel] [PATCH v3 For-1.6 5/7] rdma: qemu_rdma_post_send_control uses wrongly RDMA_WRID_MAX

2013-08-03 Thread mrhines
From: Isaku Yamahata yamah...@private.email.ne.jp RDMA_WRID_CONTROL should be used. And remove related work around. Reviewed-by: Michael R. Hines mrhi...@us.ibm.com Signed-off-by: Isaku Yamahata yamah...@private.email.ne.jp Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c

[Qemu-devel] [PATCH v3 For-1.6 3/7] rdma: correct newlines in error statements

2013-08-03 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Don't print newlines on the error_setg() function, but still allow newlines on fprintf(). Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c | 68 +++--- 1 file changed, 34

[Qemu-devel] [PATCH v2 0/3] rdma: IPv6 bugfixes and cleanups

2013-07-30 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes: 1. IPv6 support was broken under libvirt. 2. incorrect use of error_setg() 3. DPRINTF flag was not disabled Michael R. Hines (3): rdma: bugfix: make IPv6 support work rdma: forgot to turn off the debugging flag rdma: correct newlines in

[Qemu-devel] [PATCH v2 3/3] rdma: correct newlines in error statements

2013-07-30 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Don't print newlines on the error_setg() function, but still allow newlines on fprintf(). Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c | 68 +++--- 1 file changed, 34

[Qemu-devel] [PATCH v2 1/3] rdma: bugfix: make IPv6 support work

2013-07-30 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com RDMA does not use sockets, so we cannot use many of the socket helper functions, but we *do* use inet_parse() which gives RDMA all the necessary details of the connection parameters. However, when testing with libvirt, a simple IPv6 migration test failed

[Qemu-devel] [PATCH v2 2/3] rdma: forgot to turn off the debugging flag

2013-07-30 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Ooops. We forgot to turn off the flag. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- migration-rdma.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration-rdma.c b/migration-rdma.c index 9cf73e3..fe6118d 100644 ---

[Qemu-devel] [PATCH] rdma: bugfix: make IPv6 support work

2013-07-26 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com When testing with libvirt, a simple IPv6 migration test failed because we were not using getaddrinfo() properly. This makes IPv6 migration over RDMA work. Also, we forgot to turn the DPRINTF flag off =). Signed-off-by: Michael R. Hines

[Qemu-devel] [PATCH v3 resend 1/8] rdma: update documentation to reflect new unpin support

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way

[Qemu-devel] [PATCH v3 resend 2/8] rdma: bugfix: ram_control_save_page()

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com We were not checking for a valid 'bytes_sent' pointer before accessing it. Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- savevm.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[Qemu-devel] [PATCH v3 resend 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP

[Qemu-devel] [PATCH v3 resend 3/8] rdma: introduce ram_handle_compressed()

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by: Chegu Vinod chegu_vi...@hp.com

[Qemu-devel] [PATCH v3 resend 8/8] rdma: account for the time spent in MIG_STATE_SETUP through QMP

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by: Michael R.

[Qemu-devel] [PATCH v3 resend 5/8] rdma: send pc.ram

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This takes advantages of the previous patches: 1. use the new QEMUFileOps hook 'save_page' 2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by:

[Qemu-devel] [PATCH v3 resend 0/8] rdma: core logic

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes since v2: - trivial bugfix - re-ran checkpatch Michael R. Hines (8): rdma: update documentation to reflect new unpin support rdma: bugfix: ram_control_save_page() rdma: introduce ram_handle_compressed() rdma: core logic rdma: send

[Qemu-devel] [PATCH v3 resend 6/8] rdma: allow state transitions between other states besides ACTIVE

2013-07-22 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was

[Qemu-devel] [PATCH v3 resend 8/8] rdma: account for the time spent in MIG_STATE_SETUP through QMP

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by: Michael R.

[Qemu-devel] [PATCH v3 resend 0/8] rdma: core logic

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes since v2: - trivial bugfix - re-ran checkpatch Michael R. Hines (8): rdma: update documentation to reflect new unpin support rdma: bugfix: ram_control_save_page() rdma: introduce ram_handle_compressed() rdma: core logic rdma: send

[Qemu-devel] [PATCH v3 resend 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP

[Qemu-devel] [PATCH v3 resend 6/8] rdma: allow state transitions between other states besides ACTIVE

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was

[Qemu-devel] [PATCH v3 resend 3/8] rdma: introduce ram_handle_compressed()

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by: Chegu Vinod chegu_vi...@hp.com

[Qemu-devel] [PATCH v3 resend 2/8] rdma: bugfix: ram_control_save_page()

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com We were not checking for a valid 'bytes_sent' pointer before accessing it. Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- savevm.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[Qemu-devel] [PATCH v3 resend 5/8] rdma: send pc.ram

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This takes advantages of the previous patches: 1. use the new QEMUFileOps hook 'save_page' 2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by:

[Qemu-devel] [PATCH v3 resend 1/8] rdma: update documentation to reflect new unpin support

2013-07-16 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way

[Qemu-devel] [PATCH v3 resend/cleanup 2/8] rdma: bugfix: ram_control_save_page()

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com We were not checking for a valid 'bytes_sent' pointer before accessing it. Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- savevm.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/savevm.c b/savevm.c index e0491e7..03fc4d9

[Qemu-devel] [PATCH v3 resend/cleanup 0/8] rdma: core logic

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Just a one-liner bug fix and checkpatch.pl, but this a resend. Waiting to be merged Changes since v2: - trivial bugfix - re-ran checkpatch Michael R. Hines (8): rdma: update documentation to reflect new unpin support rdma: bugfix:

[Qemu-devel] [PATCH v3 resend/cleanup 3/8] rdma: introduce ram_handle_compressed()

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by: Chegu Vinod chegu_vi...@hp.com

[Qemu-devel] [PATCH v3 resend/cleanup 6/8] rdma: allow state transitions between other states besides ACTIVE

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was

[Qemu-devel] [PATCH v3 resend/cleanup 1/8] rdma: update documentation to reflect new unpin support

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way

[Qemu-devel] [PATCH v3 resend/cleanup 8/8] rdma: account for the time spent in MIG_STATE_SETUP through QMP

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by: Michael R.

[Qemu-devel] [PATCH v3 resend/cleanup 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP

[Qemu-devel] [PATCH v3 resend/cleanup 5/8] rdma: send pc.ram

2013-07-12 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This takes advantages of the previous patches: 1. use the new QEMUFileOps hook 'save_page' 2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by:

[Qemu-devel] [PATCH v2 5/8] rdma: send pc.ram

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This takes advantages of the previous patches: 1. use the new QEMUFileOps hook 'save_page' 2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by:

[Qemu-devel] [PATCH v2 6/8] rdma: allow state transitions between other states besides ACTIVE

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was

[Qemu-devel] [PATCH v2 0/8] rdma: core logic w/ unpin example

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This version seems ready to go, if there are no fundamental problems. Changes since v1: - Complete endianness handling of all protocol messages - Splitout unpin patch - ./configure fixes - Fix documentation Michael R. Hines (8): rdma: update

[Qemu-devel] [PATCH v2 8/8] rdma: account for the time spent in MIG_STATE_SETUP through QMP

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Eric Blake ebl...@redhat.com Signed-off-by: Michael R.

[Qemu-devel] [PATCH v2 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP

[Qemu-devel] [PATCH v2 2/8] rdma: introduce ram_handle_compressed()

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by: Chegu Vinod chegu_vi...@hp.com

[Qemu-devel] [PATCH v2 4/8] rdma: unpin support

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way

[Qemu-devel] [PATCH v2 1/8] rdma: update documentation to reflect new unpin support

2013-06-28 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way

[Qemu-devel] [PATCH 5/6] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition

2013-06-27 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP

[Qemu-devel] [PATCH 1/6] rdma: update documentation to reflect new unpin support

2013-06-27 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way

[Qemu-devel] [PATCH 0/6] rdma: core logic and unpin support

2013-06-27 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Changes: - Per request, basic (compile-time-enabled) unpin support is available, but turned off by default. Michael R. Hines (6): rdma: update documentation to reflect new unpin support rdma: introduce ram_handle_compressed() rdma: core logic

[Qemu-devel] [PATCH 6/6] rdma: account for the time spent in MIG_STATE_SETUP through QMP

2013-06-27 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela quint...@redhat.com Signed-off-by: Michael R. Hines mrhi...@us.ibm.com --- hmp.c

[Qemu-devel] [PATCH 2/6] rdma: introduce ram_handle_compressed()

2013-06-27 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela quint...@redhat.com Reviewed-by: Paolo Bonzini pbonz...@redhat.com Reviewed-by: Chegu Vinod chegu_vi...@hp.com

[Qemu-devel] [PATCH 4/6] rdma: allow state transitions between other states besides ACTIVE

2013-06-27 Thread mrhines
From: Michael R. Hines mrhi...@us.ibm.com This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was

  1   2   3   4   >