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
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
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
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
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 -
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
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(+)
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
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
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
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
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
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:
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
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
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.
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
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
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
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
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:
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
---
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|
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
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
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
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
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
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
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
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,
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
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
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.
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.
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
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
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
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
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.
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
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
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
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.
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
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.
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
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
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
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
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
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
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
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
---
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
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
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
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
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
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
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
---
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
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
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
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
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
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.
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:
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
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
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.
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
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
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
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
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
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:
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
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
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:
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
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
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
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.
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
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:
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:
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
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
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.
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
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
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
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
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
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
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
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
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
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 - 100 of 331 matches
Mail list logo