2010/11/27 Paul Brook p...@codesourcery.com:
One question I have about Kemari is whether it adds new constraints to
the QEMU codebase? Fault tolerance seems like a cross-cutting concern
- everyone writing device emulation or core QEMU code may need to be
aware of new constraints. For
2010/11/27 Stefan Hajnoczi stefa...@gmail.com:
On Sat, Nov 27, 2010 at 8:53 AM, Yoshiaki Tamura
tamura.yoshi...@lab.ntt.co.jp wrote:
2010/11/27 Stefan Hajnoczi stefa...@gmail.com:
On Sat, Nov 27, 2010 at 4:29 AM, Yoshiaki Tamura
tamura.yoshi...@lab.ntt.co.jp wrote:
2010/11/27 Blue Swirl
2010/11/27 Blue Swirl blauwir...@gmail.com:
On Thu, Nov 25, 2010 at 6:06 AM, Yoshiaki Tamura
tamura.yoshi...@lab.ntt.co.jp wrote:
Hi,
This patch series is a revised version of Kemari for KVM, which
applied comments for the previous post and KVM Forum 2010. The
current code is based
Replace replace qemu_sendv_packet_async() with
qemu_sendv_packet_async_proxy() to let event-tap capture events from
virtio-net.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/virtio-net.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/virtio
Replace replace bdrv_aio_multiwrite() with bdrv_aio_multiwrite_proxy()
to let event-tap capture events from virtio-blk.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/virtio-blk.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/virtio-blk.c b/hw
Introduce skip_header parameter to qemu_loadvm_state() so that it can
be called iteratively without reading the header.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c |2 +-
savevm.c| 24 +---
sysemu.h|2 +-
3 files changed, 15
with the
patch series posted.
git://kemari.git.sourceforge.net/gitroot/kemari/kemari
As always, I'm looking forward to suggestions/comments.
Thanks,
Yoshi
Yoshiaki Tamura (21):
Make QEMUFile buf expandable, and introduce qemu_realloc_buffer() and
qemu_clear_buffer().
Introduce read
Introduce qemu_savevm_state_{begin,commit} to send the memory and
device info together, while avoiding cancelling memory state tracking.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
savevm.c | 88 ++
sysemu.h
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
vl.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/vl.c b/vl.c
index 6b6aec0..ea6fe71 100644
--- a/vl.c
+++ b/vl.c
@@ -162,6 +162,7 @@ int main(int argc, char **argv)
#include qemu-queue.h
#include
Record ioport event to replay it upon failover.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
ioport.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/ioport.c b/ioport.c
index aa4188a..74aebf5 100644
--- a/ioport.c
+++ b/ioport.c
@@ -27,6 +27,7
Replace bdrv_aio_writev() with bdrv_aio_writev_proxy() to let
event-tap capture events from dma-helpers.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
dma-helpers.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dma-helpers.c b/dma-helpers.c
index
The option looks like, -incoming protocol:address:port,ft_mode
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c |9 -
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/migration.c b/migration.c
index f0cfa37..58f1158 100644
--- a/migration.c
When -k option is set to migrate command, it will turn on ft_mode to
start FT migration mode (Kemari).
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hmp-commands.hx |7 ---
migration.c |3 +++
qmp-commands.hx |7 ---
3 files changed, 11 insertions(+), 6
To utilize ft_trans_file function, savevm needs interfaces to be
exported.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/hw.h |5 ++
savevm.c | 165 ++
2 files changed, 170 insertions(+), 0 deletions(-)
diff
from the receiver.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c | 256 +--
migration.h |2 +-
2 files changed, 249 insertions(+), 9 deletions(-)
diff --git a/migration.c b/migration.c
index 40e4945..c03d660
By copying the next entry to a tmp pointer,
qemu_del_vm_change_state_handler() can be called in the handler.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
vl.c |5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/vl.c b/vl.c
index 805e11f..6b6aec0
Currently FdMigrationState doesn't support read(), and this patch
introduces it to get response from the other side.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-tcp.c | 15 +++
migration.c | 12
migration.h |3 +++
3 files
This code implements VM transaction protocol. Like buffered_file, it
sits between savevm and migration layer. With this architecture, VM
transaction protocol is implemented mostly independent from other
existing code.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off
Currently buf size is fixed at 32KB. It would be useful if it could
be flexible.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/hw.h |2 ++
savevm.c | 21 -
2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/hw/hw.h b/hw/hw.h
index
event-tap controls when to start FT transaction, and provides proxy
functions to called from net/block devices. While FT transaction, it
queues up net/block requests, and flush them when the transaction gets
completed.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off
Replace replace qemu_send_packet() with qemu_send_packet_proxy() to
let event-tap capture events from e1000.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/e1000.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/e1000.c b/hw/e1000.c
index
-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-tcp.c | 43 ++-
1 files changed, 42 insertions(+), 1 deletions(-)
diff --git a/migration-tcp.c b/migration-tcp.c
index 96e2411..669f9f8 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
Record mmio write event to replay it upon failover.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
exec.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/exec.c b/exec.c
index db9ff55..fd8823e 100644
--- a/exec.c
+++ b/exec.c
@@ -33,6 +33,7
Modify inuse type to uint16_t, let save/load to handle, and revert
last_avail_idx with inuse if there are outstanding emulation.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/virtio.c |8 +++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/hw
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
qemu-char.c |2 +-
qemu_socket.h |1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
index 88997f9..8ef4760 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -2116,7 +2116,7 @@ static
Marcelo Tosatti wrote:
On Tue, Nov 09, 2010 at 03:02:12PM +0900, Yoshiaki Tamura wrote:
Marcelo Tosatti wrote:
Following patchset fixes block migration corruption issues.
Hi Marcelo,
Thanks for looking into this issue. Although we tried your patches, we're still
seeing the corruption
Marcelo Tosatti wrote:
Following patchset fixes block migration corruption issues.
Hi Marcelo,
Thanks for looking into this issue. Although we tried your patches, we're still
seeing the corruption. If we execute block migration while copying a file
locally, md5sum of the copied file doesn't
Hi Rick,
2010/9/15 Corentin Chary corentin.ch...@gmail.com:
On Tue, Sep 14, 2010 at 10:00 PM, Rick Vernam ri...@hobi.com wrote:
I don't have nearly enough info to file a proper bug report.
I am running qemu-kvm-0.13.0 rc1
starting qemu like so:
/root/qemu/bin/qemu-system-x86_64 -cpu host
2010/8/23 Corentin Chary corentin.ch...@gmail.com:
On Mon, Aug 23, 2010 at 2:55 AM, Yoshiaki Tamura
tamura.yoshi...@lab.ntt.co.jp wrote:
Currently qemu_set_fd_handler2() is only setting ioh-deleted upon
deleting. This may cause a crash when a read handler calls
qemu_set_fd_handler2
, and then crashes because of lack of resources. This patch
fixes it.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
vl.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/vl.c b/vl.c
index ccc8d57..7ae69ab 100644
--- a/vl.c
+++ b/vl.c
@@ -966,6 +966,8 @@ int
Setting fd = -1 to qemu_set_fd_handler2() causes bus error at FD_SET
in main_loop_wait().
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
ui/vnc.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/ui/vnc.c b/ui/vnc.c
index 7fc40ac..c7a1831 100644
--- a/ui
Replace tabs in arch_init.c and exec.c by spaces.
Yoshiaki Tamura (2):
arch_init: replace tabs by spaces.
exec: replace tabs by spaces.
arch_init.c | 12 ++--
exec.c | 56
2 files changed, 34 insertions(+), 34
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
arch_init.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch_init.c b/arch_init.c
index 47bb4b2..1865ae5 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -82,12 +82,12 @@ const uint32_t arch_type
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
exec.c | 56
1 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/exec.c b/exec.c
index 8636316..4fc96cb 100644
--- a/exec.c
+++ b/exec.c
@@ -1706,8 +1706,8
Since most of the code in qemu_ram_alloc() and
qemu_ram_alloc_from_ptr() are duplicated, let
qemu_ram_alloc_from_ptr() to switch by checking void *host, and change
qemu_ram_alloc() to a wrapper.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
exec.c | 84
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
block-migration.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/block-migration.c b/block-migration.c
index 8eda307..0bfdb73 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -346,7
Currently block_load() doesn't check return value of bdrv_write(), and
even the destination weren't prepared to execute block migration, it
proceeds and guest boots on the target. This patch fix this issue.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
block-migration.c
2010/7/19 Kevin Wolf kw...@redhat.com:
Am 19.07.2010 06:45, schrieb Yoshiaki Tamura:
Commit d246673dcb9911218ff555bcdf28b250e38fa46c has expanded the types
of block drive that can be initialized for block migration. Although
bdrv_getlength() may return 0, current code shifts it without
to calling qemu_malloc() with 0 size at
bdrv_set_dirty_tracking(). This patch checks the return value of
bdrv_getlength() by masking with BDRV_SECTOR_MASK.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
block-migration.c |5 +++--
1 files changed, 3 insertions(+), 2 deletions
2010/6/24 Alex Williamson alex.william...@redhat.com:
Ok, new approach. I'm going to attempt to extract myself for the
canonical device path approach, because we're missing too many pieces
to make that work. Instead, I'll take Anthony's advice and try to
simplify. We still want a unique
Alex Williamson wrote:
On Thu, 2010-06-24 at 09:04 -0600, Alex Williamson wrote:
On Thu, 2010-06-24 at 15:02 +0900, Yoshiaki Tamura wrote:
Hi Alex,
Is there additional overhead to save rams introduce by this series?
If so, how much?
Yes, there is overhead, but it's typically quite small
Although it is really rare to get in to the while loop, the list
operation in the loop is obviously wrong.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/virtio-blk.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
} }
This results in DuplicatedId error.
Because the first command was invalid, it should be able to reuse the
same id, and the second command should work.
Reported-by: Luiz Capitulino lcapitul...@redhat.com
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
net.c |4
1 files changed, 4
Anthony Liguori wrote:
On 06/14/2010 09:01 PM, Yoshiaki Tamura wrote:
Anthony Liguori wrote:
On 06/03/2010 02:22 AM, Yoshiaki Tamura wrote:
Split qemu_loadvm_state(), and introduce
qemu_loadvm_state_{begin,iterate,complete,async}.
qemu_loadvm_state_async() is a function to handle a single
Modifies kvm_physical_sync_dirty_bitmap to use
cpu_physical_memory_set_dirty_range() to update the row of the
bit-based dirty bitmap at once.
Signed-off-by: OHMURA Kei ohmura@lab.ntt.co.jp
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
kvm-all.c | 24
to (1,2,4,8), and add IDX (0,1,2,3)
- Use ffs to convert FLAGS to IDX.
- Add a helper function which takes IDX.
- Change the behavior of MASTER as a buffer.
- Change dirty bitmap access to a loop.
- Add brace after if ()
Yoshiaki Tamura (4):
Modify DIRTY_FLAG value and introduce DIRTY_IDX to use
as a buffer, and upon get_diry() or
get_dirty_flags(), it calls cpu_physical_memory_sync_master() to
update VGA and MIGRATION.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
cpu-all.h | 127 -
exec.c| 14
Modifies ram_save_block() and ram_save_remaining() to use
cpu_physical_memory_get_dirty_range() to check multiple dirty and
non-dirty pages at once.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura@lab.ntt.co.jp
---
arch_init.c | 58
It checks the first row and puts dirty addr in the array. If the
first row is empty, it skips to the first non-dirty row or the end
addr, and put the length in the first entry of the array.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura
2010/6/16 Markus Armbruster arm...@redhat.com:
Anthony Liguori anth...@codemonkey.ws writes:
On 06/15/2010 10:41 AM, Christoph Hellwig wrote:
On Tue, Jun 15, 2010 at 08:18:12AM -0700, Chris Wright wrote:
KVM/qemu patches
- patch rate is high, documentation is low, review is low
- patches
Anthony Liguori wrote:
On 06/03/2010 02:22 AM, Yoshiaki Tamura wrote:
Split qemu_loadvm_state(), and introduce
qemu_loadvm_state_{begin,iterate,complete,async}.
qemu_loadvm_state_async() is a function to handle a single incoming
section.
Signed-off-by: Yoshiaki Tamuratamura.yoshi
are in master branch, and patches for qemu-kvm.git are in
kemari-v0.1.1-kvm.
I would split 23 patches into small chunks and send it separately to make
reviewing easier, and hopefully have feedbacks.
Thanks,
Yoshi
Yoshiaki Tamura wrote:
Hi,
This patch series is a revised version of Kemari for KVM
Hi Juan,
2010/6/9 Juan Quintela quint...@redhat.com:
This is a resent with what we agreed on yesterday call.
Migration events would be there for 0.13 until we get proper
async command support.
Later, Juan.
v3:
- Add comment that MIGRATION_FAILURE will add a QError for 0.14
(when we get
** Changed in: qemu
Status: Confirmed = In Progress
--
qemu: Improve error reporting when migration can't connect
https://bugs.launchpad.net/bugs/589315
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: In Progress
2010/6/10 Juan Quintela quint...@redhat.com:
Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp wrote:
Hi Juan,
I don't know I have addressed the problem correctly, but here is my
try to get info migrate on incoming side.
http://lists.gnu.org/archive/html/qemu-devel/2010-06/msg00417.html
I
Although there is no difference, other migration related code use
qemu_free(), and it should be better to be consistent.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/migration.c b
It checks the first row and puts dirty addr in the array. If the first row is
empty, it skips to the first non-dirty row or the end addr, and put the length
in the first entry of the array.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura
Modifies ram_save_block() and ram_save_remaining() to use
cpu_physical_memory_get_dirty_range() to check multiple dirty and non-dirty
pages at once.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura@lab.ntt.co.jp
---
arch_init.c | 57
phys_ram_dirty bitmap. MASTER works as a buffer, and upon get_diry() or
get_dirty_flags(), it calls cpu_physical_memory_sync_master() to update VGA and
MIGRATION.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
cpu-all.h | 128
Modifies kvm_physical_sync_dirty_bitmap to use
cpu_physical_memory_set_dirty_range() to update the row of the bit-based
phys_ram_dirty bitmap at once.
Signed-off-by: OHMURA Kei ohmura@lab.ntt.co.jp
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
kvm-all.c | 24
brace after if ()
Yoshiaki Tamura (4):
Modify DIRTY_FLAG value and introduce DIRTY_IDX to use as indexes of
bit-based phys_ram_dirty.
Introduce cpu_physical_memory_get_dirty_range().
Use cpu_physical_memory_set_dirty_range() to update phys_ram_dirty.
Use cpu_physical_memory_get_dirty_range
.
This series is based on discussion below.
http://permalink.gmane.org/gmane.comp.emulators.qemu/72401
Yoshiaki Tamura (4):
savevm: refactor qemu_loadvm_state().
migration-tcp: add support for asynchronous incoming migration.
arch_init: calculate transferred bytes at ram_load().
migration: add
Split qemu_loadvm_state(), and introduce
qemu_loadvm_state_{begin,iterate,complete,async}.
qemu_loadvm_state_async() is a function to handle a single incoming
section.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
savevm.c | 206
Set current_migration after calling tcp_star_incoming_migration(). On
incoming side, we don't have to print remaining rams, so introduce
incoming flag to switch messages.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c | 18 ++
1 files changed, 14
Currently incoming side of migration doesn't know how many bytes are
transferred. To print info migrate on incoming side, we need to
calculate transferred bytes at ram_load().
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
arch_init.c |6 +-
1 files changed, 5
.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-tcp.c | 109 ---
migration.h |2 +-
2 files changed, 80 insertions(+), 31 deletions(-)
diff --git a/migration-tcp.c b/migration-tcp.c
index 95ce722..b55e891
, and returns allocated mig_state
is set to current_migration in migration.c allows us to print info
migrate.
Reported-by: Cole Robinson crobi...@redhat.com
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
--
qemu: Improve error reporting when migration can't connect
https://bugs.launchpad.net
Set current_migration after calling tcp_star_incoming_migration(). On
incoming side, we don't have to print remaining rams, so introduce
incoming flag to switch messages.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c | 18 ++
1 files changed, 14
Currently incoming side of migration doesn't know how many bytes are
transferred. To print info migrate on incoming side, we need to
calculate transferred bytes at ram_load().
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
arch_init.c |2 ++
1 files changed, 2 insertions
to print incoming migration info.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-tcp.c | 86 ++-
migration.h |2 +-
2 files changed, 73 insertions(+), 15 deletions(-)
diff --git a/migration-tcp.c b/migration-tcp.c
incoming migration
is enable only when --enable-io-thread is set.
This series apply on top of patch from Corentin posted on May 29.
http://www.mail-archive.com/qemu-devel@nongnu.org/msg33830.html
Yoshiaki Tamura (4):
qemu-thread: add qemu_thread_join().
migration-tcp: threaded tcp incoming
Add missing function to join created thread.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
qemu-thread.c |9 +
qemu-thread.h |1 +
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/qemu-thread.c b/qemu-thread.c
index afc9933..21953cd 100644
2010/6/2 Anthony Liguori aligu...@linux.vnet.ibm.com:
On 06/01/2010 10:40 AM, Yoshiaki Tamura wrote:
Hi,
This series add threaded tcp incoming migration. Currently, tcp migration
on
incoming side is blocked when outgoing has started on the remote side, and
you
can't do anything
2010/6/2 Anthony Liguori aligu...@linux.vnet.ibm.com:
On 06/01/2010 10:40 AM, Yoshiaki Tamura wrote:
Create a thread to handle tcp incoming migration when CONFIG_IOTHREAD
is enabled. Spawned thread writes it's return status to th_fds[1]
before exit, and main thread joins and reads
2010/6/2 Anthony Liguori aligu...@linux.vnet.ibm.com:
On 06/01/2010 11:18 AM, Yoshiaki Tamura wrote:
2010/6/2 Anthony Liguorialigu...@linux.vnet.ibm.com:
On 06/01/2010 10:40 AM, Yoshiaki Tamura wrote:
Hi,
This series add threaded tcp incoming migration. Currently, tcp
migration
2010/6/2 Anthony Liguori aligu...@linux.vnet.ibm.com:
On 06/01/2010 11:23 AM, Yoshiaki Tamura wrote:
2010/6/2 Anthony Liguorialigu...@linux.vnet.ibm.com:
On 06/01/2010 10:40 AM, Yoshiaki Tamura wrote:
Create a thread to handle tcp incoming migration when CONFIG_IOTHREAD
is enabled
Modify inuse type to uint16_t, let save/load to handle, and revert
last_avail_idx with inuse if there are outstanding emulation.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/virtio.c |8 +++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/hw
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
vl.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/vl.c b/vl.c
index 70a8aed..56d12c7 100644
--- a/vl.c
+++ b/vl.c
@@ -169,6 +169,8 @@ int main(int argc, char **argv)
#include qemu-queue.h
When -k option is set to migrate command, it will turn on ft_mode to
start FT migration mode (Kemari).
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c |3 +++
qemu-monitor.hx |7 ---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git
Record mmio write event to replay it upon failover.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
exec.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/exec.c b/exec.c
index d5c2a05..e9ed477 100644
--- a/exec.c
+++ b/exec.c
@@ -44,6 +44,7
Modifies ram_save_block() and ram_save_remaining() to use
cpu_physical_memory_get_dirty_range() to check multiple dirty and non-dirty
pages at once.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura@lab.ntt.co.jp
---
vl.c | 52
Introduce event-tap callbacks to functions which actually fire outputs
at net/block layer. By synchronizing VMs before outputs are fired, we
can failover to the receiver upon failure.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
block.c | 22
Record ioport event to replay it upon failover.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
ioport.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/ioport.c b/ioport.c
index 53dd87a..ad7a017 100644
--- a/ioport.c
+++ b/ioport.c
@@ -26,6 +26,7
To utilize ft_transaction function, savevm needs interfaces to be
exported.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/hw.h |5 +
savevm.c | 41 +
2 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/hw/hw.h b
The option looks like, -incoming protocol:address:port,ft_mode
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration.c | 14 +-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/migration.c b/migration.c
index 3334650..a4850f9 100644
Modifies kvm_get_dirty_pages_log_range to use
cpu_physical_memory_set_dirty_range() to update the row of the
bit-based phys_ram_dirty bitmap at once.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura@lab.ntt.co.jp
---
qemu-kvm.c | 19
Introduce ft_tranx_ready() which kicks the FT transaction cycle. When
ft_mode is on, migrate_fd_put_ready() would open ft_transaction file
and turn on event_tap. To end or cancel ft_transaction, ft_mode and
event_tap is turned off.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Introduce skip_header parameter to qemu_loadvm_state() so that it can
be called iteratively without reading the header.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-exec.c |2 +-
migration-fd.c |2 +-
migration-tcp.c |2 +-
migration-unix.c |2
Currently FdMigrationState doesn't support read(), and this patch
introduces it to get response from the other side.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-tcp.c | 14 ++
migration.c | 12
migration.h |3 +++
3 files
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
osdep.c | 13 +
qemu-char.c | 25 -
qemu_socket.h |4
3 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/osdep.c b/osdep.c
index 3bab79a..63444e7 100644
Call event_tap_replay() at vm_start() to replay the last ioport/mmio
event upon failover.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
vl.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/vl.c b/vl.c
index 56d12c7..762440d 100644
--- a/vl.c
+++ b/vl.c
When ft_mode is set in the header, tcp_accept_incoming_migration()
receives ft_transaction iteratively. We also need a hack no to close
fd before moving to ft_transaction mode, so that we can reuse the fd
for it.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
migration-tcp.c
event-tap controls when to start ft transaction, and inserts callbacks
to the net/block.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
Makefile.target |1 +
event-tap.c | 184 +++
event-tap.h | 32 ++
3
Introduce qemu_savevm_state_all() to send the memory and device info
together, while avoiding cancelling memory state tracking.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
savevm.c | 60
sysemu.h |1 +
2
Skip assert(!cpu_single_env) in resume_all_threads() when
event_tap_state weren't EVENT_TAP_OFF.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
qemu-kvm.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 1414f49..e28bf59
/load handler to send inuse variable to
correctly replay.
- Removed configure --enable-ft-mode.
- Removed unnecessary check for qemu_realloc().
I hope people like this approach, and looking forward to suggestions/comments.
Thanks,
Yoshi
Yoshiaki Tamura (23):
Modify DIRTY_FLAG value
phys_ram_dirty bitmap. MASTER works as a buffer, and upon
get_diry() or get_dirty_flags(), it calls
cpu_physical_memory_sync_master() to update VGA and MIGRATION.
Replaces direct phys_ram_dirty access with wrapper functions to
prevent direct access to the phys_ram_dirty bitmap.
Signed-off-by: Yoshiaki
Currently buf size is fixed at 32KB. It would be useful if it could
be flexible.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
---
hw/hw.h |2 ++
savevm.c | 21 -
2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/hw/hw.h b/hw/hw.h
index
save/load handler to send inuse variable to
correctly replay.
- Removed configure --enable-ft-mode.
- Removed unnecessary check for qemu_realloc().
I hope people like this approach, and looking forward to suggestions/comments.
Thanks,
Yoshi
Yoshiaki Tamura (23):
Modify DIRTY_FLAG value
It checks the first row and puts dirty addr in the array. If the
first row is empty, it skips to the first non-dirty row or the end
addr, and put the length in the first entry of the array.
Signed-off-by: Yoshiaki Tamura tamura.yoshi...@lab.ntt.co.jp
Signed-off-by: OHMURA Kei ohmura
401 - 500 of 602 matches
Mail list logo