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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 to add additiona

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 --- hmp-commands.hx | 16 +++- hmp.c| 6 ++ hmp.h| 1 + qapi-schema.json

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 --- arch_init.c

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

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

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 to load RDMA-base

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

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

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 --- qapi-schema.json | 36 +++- 1 file changed, 35 insertions(+), 1 deleti

[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" 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 --- cpus.c| 9 - include/migration/migration.h | 21 ++

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 maintaing two copies

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" We also later export these statistics over QMP for better monitoring of micro-checkpointing as the workload changes. Signed-off-by: Michael R. Hines --- arch_init.c | 34 -- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 a new MCStats st

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

2014-02-18 Thread mrhines
From: "Michael R. Hines" 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 cleanup the netw

[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" 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 --- include/migration/migration.h | 8 vl.c | 2 ++ 2 files changed,

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

2014-02-17 Thread mrhines
From: "Michael R. Hines" 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 can print the infor

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

2014-02-17 Thread mrhines
From: "Michael R. Hines" 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 anything about the a

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

2014-02-17 Thread mrhines
From: "Michael R. Hines" 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. Normally, the informat

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

2014-02-17 Thread mrhines
From: "Michael R. Hines" 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 in review, I've

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

2014-02-17 Thread mrhines
From: "Michael R. Hines" 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: frank.yang...@gmail

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

2013-12-18 Thread mrhines
From: "Michael R. Hines" 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 addressed, (including pi

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

2013-12-17 Thread mrhines
From: "Michael R. Hines" 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 addressed, (including pi

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

2013-11-22 Thread mrhines
From: "Michael R. Hines" 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 Signed-off-by: Michael R. Hines --- docs/rdma.txt

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

2013-11-06 Thread mrhines
From: "Michael R. Hines" 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 --- docs/rdma.txt| 24 ++

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

2013-10-26 Thread mrhines
From: "Michael R. Hines" 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 --- docs/rdma.txt| 24 ++-- migra

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

2013-10-22 Thread mrhines
From: "Michael R. Hines" 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 to removing the

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

2013-10-20 Thread mrhines
From: "Michael R. Hines" 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 network. Signed-

[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" 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. Signed-off-by: Micha

[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" 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. Signed-off-by: Michael R.

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

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

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

2013-10-20 Thread mrhines
From: "Michael R. Hines" 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 handoff after th

[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" 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, there some addition

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

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

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

2013-10-20 Thread mrhines
From: "Michael R. Hines" Signed-off-by: Michael R. Hines --- 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 mode 100644 index 000..90888f7 ---

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

2013-10-20 Thread mrhines
From: "Michael R. Hines" 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 bitmap to a thre

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

2013-10-20 Thread mrhines
From: "Michael R. Hines" 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 and into 1.8 vers

[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" 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 --- arch_init.c | 2 +- cpus.c| 9 - include/migr

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

2013-10-20 Thread mrhines
From: "Michael R. Hines" Signed-off-by: Michael R. Hines --- 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 Migration Specification, Version # 1 ===

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

2013-08-12 Thread mrhines
From: "Michael R. Hines" 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 --- migration-rdma.c |8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --

[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" 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. Isaku Yamahata (3

[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" 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 listening on '[:

[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 resp.len is given from remote host. So should be validated before use. Otherwise memcpy can access beyond the buffer. Cc: Michael R. Hines Reviewed-by: Orit Wasserman Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migrat

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

2013-08-09 Thread mrhines
From: Isaku Yamahata RMDAControlHeader::len is provided from remote, so validate it. Reviewed-by: Orit Wasserman Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c |5 + 1 file changed, 5 insertions(+) diff --git a/migra

[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 RDMAControlHeader::len is provided from remote, so check if the value match the actual transferred byte_len. Reviewed-by: Orit Wasserman Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c | 32 +

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

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

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

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

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

2013-08-07 Thread mrhines
From: "Michael R. Hines" getaddrinfo() already knows what it's doing, wqand can potentially return multiple addresses. Signed-off-by: Michael R. Hines --- migration-rdma.c | 56 -- 1 file changed, 29 insertions(+), 27 deletions(-) diff --g

[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 resp.len is given from remote host. So should be validated before use. Otherwise memcpy can access beyond the buffer. Cc: Michael R. Hines Reviewed-by: Orit Wasserman Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migrat

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

2013-08-07 Thread mrhines
From: "Michael R. Hines" 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 transferred byte Mi

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

2013-08-07 Thread mrhines
From: Isaku Yamahata RMDAControlHeader::len is provided from remote, so validate it. Reviewed-by: Orit Wasserman Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c |5 + 1 file changed, 5 insertions(+) diff --git a/migra

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

2013-08-07 Thread mrhines
From: Isaku Yamahata RDMAControlHeader::len is provided from remote, so check if the value match the actual transferred byte_len. Reviewed-by: Orit Wasserman Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c | 32 +

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

2013-08-03 Thread mrhines
From: "Michael R. Hines" Don't print newlines on the error_setg() function, but still allow newlines on fprintf(). Signed-off-by: Michael R. Hines --- migration-rdma.c | 68 +++--- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a

[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 RDMA_WRID_CONTROL should be used. And remove related work around. Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/migration

[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 Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c | 27 +++ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/migration-rdma.c b/migration-rdma.c index c958e5f..7266803

[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" Ooops. We forgot to turn off the flag. Signed-off-by: Michael R. Hines --- 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 --- a/migration-rdma.c +++ b/migration-r

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

2013-08-03 Thread mrhines
From: Isaku Yamahata It is allocated by g_strdup(), so needs to be freed. Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/migration-rdma.c b/migration-rdma.c index 6afe98

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

2013-08-03 Thread mrhines
From: "Michael R. Hines" 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 uses wrongly RDMA

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

2013-08-03 Thread mrhines
From: Isaku Yamahata Reviewed-by: Michael R. Hines Signed-off-by: Isaku Yamahata Signed-off-by: Michael R. Hines --- migration-rdma.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migration-rdma.c b/migration-rdma.c index ea16f0e..6afe98c 100644 --- a/migration-rd

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

2013-08-03 Thread mrhines
From: "Michael R. Hines" 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 because we were

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

2013-07-30 Thread mrhines
From: "Michael R. Hines" Ooops. We forgot to turn off the flag. Signed-off-by: Michael R. Hines --- 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 --- a/migration-rdma.c +++ b/migration-r

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

2013-07-30 Thread mrhines
From: "Michael R. Hines" 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 because we were

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

2013-07-30 Thread mrhines
From: "Michael R. Hines" Don't print newlines on the error_setg() function, but still allow newlines on fprintf(). Signed-off-by: Michael R. Hines --- migration-rdma.c | 68 +++--- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a

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

2013-07-30 Thread mrhines
From: "Michael R. Hines" 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 error statements

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

2013-07-26 Thread mrhines
From: "Michael R. Hines" 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 --- migration-rdma.c | 35

[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" 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 called. In preparation

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

2013-07-22 Thread mrhines
From: "Michael R. Hines" 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 pc.ram rdma: allow s

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

2013-07-22 Thread mrhines
From: "Michael R. Hines" 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 Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Te

[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" 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 Reviewed-by: Eric Blake Signed-off-by: Michael R. Hines --- hmp.c |4

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

2013-07-22 Thread mrhines
From: "Michael R. Hines" This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela Reviewed-by: Paolo Bonzini Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Tested-by: Michael R. Hines Signed-off-by: Michael R. H

[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" 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 migration command was

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

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

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

2013-07-22 Thread mrhines
From: "Michael R. Hines" 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 unpinning happens du

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

2013-07-16 Thread mrhines
From: "Michael R. Hines" 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 unpinning happens du

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

2013-07-16 Thread mrhines
From: "Michael R. Hines" 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 Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Te

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

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

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

2013-07-16 Thread mrhines
From: "Michael R. Hines" This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela Reviewed-by: Paolo Bonzini Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Tested-by: Michael R. Hines Signed-off-by: Michael R. H

[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" 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 called. In preparation

[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" 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 migration command was

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

2013-07-16 Thread mrhines
From: "Michael R. Hines" 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 pc.ram rdma: allow s

[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" 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 Reviewed-by: Eric Blake Signed-off-by: Michael R. Hines --- hmp.c |4

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

2013-07-12 Thread mrhines
From: "Michael R. Hines" 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 Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Te

[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" 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 migration command was

[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" 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 Reviewed-by: Eric Blake Signed-off-by: Michael R. Hines --- hmp.c |4

[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" 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 unpinning happens du

[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" 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 called. In preparation

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

2013-07-12 Thread mrhines
From: "Michael R. Hines" This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela Reviewed-by: Paolo Bonzini Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Tested-by: Michael R. Hines Signed-off-by: Michael R. H

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

2013-07-12 Thread mrhines
From: "Michael R. Hines" 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: ram_control_save_page() rdma

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

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

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

2013-06-28 Thread mrhines
From: "Michael R. Hines" 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 unpinning happens du

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

2013-06-28 Thread mrhines
From: "Michael R. Hines" 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 unpinning happens du

[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" 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 migration command was

[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" 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 Reviewed-by: Eric Blake Signed-off-by: Michael R. Hines --- hmp.c |4

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

2013-06-28 Thread mrhines
From: "Michael R. Hines" This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela Reviewed-by: Paolo Bonzini Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Tested-by: Michael R. Hines Signed-off-by: Michael R. H

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

2013-06-28 Thread mrhines
From: "Michael R. Hines" 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 documentation to reflect n

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

2013-06-28 Thread mrhines
From: "Michael R. Hines" 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 called. In preparation

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

2013-06-28 Thread mrhines
From: "Michael R. Hines" 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 Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Te

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

2013-06-27 Thread mrhines
From: "Michael R. Hines" 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 called. In preparation

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

2013-06-27 Thread mrhines
From: "Michael R. Hines" This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela Reviewed-by: Paolo Bonzini Reviewed-by: Chegu Vinod Tested-by: Chegu Vinod Tested-by: Michael R. Hines Signed-off-by: Michael R. H

[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" 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 Signed-off-by: Michael R. Hines --- hmp.c |4 include/migration/migra

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

2013-06-27 Thread mrhines
From: "Michael R. Hines" 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 unpinning happens du

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

2013-06-27 Thread mrhines
From: "Michael R. Hines" 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 rdma: allow state

[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" 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 migration command was

  1   2   3   4   >