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
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
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
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
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
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
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
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 ++
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
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/
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
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
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,
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
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
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
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
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
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
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
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
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 ++
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
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
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-
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
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.
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/
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
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
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
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
---
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
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
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
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
===
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 --
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
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 '[:
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
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
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 +
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
+++
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
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
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
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
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
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 +
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
---
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
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
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
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
---
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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 - 100 of 332 matches
Mail list logo