From: Paolo Bonzini <pbonzini@redhat.com>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 00/34] migration thread and queue
Date: Wed, 19 Dec 2012 13:54:52 +0100 [thread overview]
Message-ID: <50D1B91C.3030306@redhat.com> (raw)
In-Reply-To: <1355920437-29882-1-git-send-email-quintela@redhat.com>
Il 19/12/2012 13:33, Juan Quintela ha scritto:
> Hi
>
> This is my queue for migration-thread and patches associated. This
> integrates review comments & code for Paolo. This is the subset from
> both approachs that we agreed with. rest of patches need more review
> and are not here.
>
> Migrating and idle guest with upstwream:
>
> (qemu) info migrate
> capabilities: xbzrle: off
> Migration status: completed
> total time: 34251 milliseconds
> downtime: 492 milliseconds
> transferred ram: 762458 kbytes
> remaining ram: 0 kbytes
> total ram: 14688768 kbytes
> duplicate: 3492606 pages
> normal: 189762 pages
> normal bytes: 759048 kbytes
>
> with this series of patches.
>
> (qemu) info migrate
> capabilities: xbzrle: off
> Migration status: completed
> total time: 30712 milliseconds
> downtime: 29 milliseconds
> transferred ram: 738857 kbytes
> remaining ram: 0 kbytes
> total ram: 14688768 kbytes
> duplicate: 3503423 pages
> normal: 176671 pages
> normal bytes: 706684 kbytes
>
> Notice the big difference in downtime. And that is also seen inside
> the guest a program that just do an idle loop seeing how "long" it
> takes to wait for 10ms.
>
> with upstream:
>
> [root@d1 ~]# ./timer
> delay of 452 ms
> delay of 114 ms
> delay of 136 ms
> delay of 135 ms
> delay of 136 ms
> delay of 131 ms
> delay of 134 ms
>
> with this series of patches, wait never takes 100ms, nothing is printed.
>
> Please review.
>
> Thanks, Juan.
>
>
> The following changes since commit 914606d26e654d4c01bd5186f4d05e3fd445e219:
>
> Merge remote-tracking branch 'stefanha/trivial-patches' into staging (2012-12-18 15:41:43 -0600)
>
> are available in the git repository at:
>
>
> git://repo.or.cz/qemu/quintela.git thread.next
>
> for you to fetch changes up to 065bebbacf54dcad48aad42112417dbb44451499:
>
> migration: merge QEMUFileBuffered into MigrationState (2012-12-19 13:21:29 +0100)
>
> ----------------------------------------------------------------
> Juan Quintela (25):
> migration: include qemu-file.h
> migration-fd: remove duplicate include
> buffered_file: Move from using a timer to use a thread
> migration: make qemu_fopen_ops_buffered() return void
> migration: move migration thread init code to migrate_fd_put_ready
> migration: make writes blocking
> migration: remove unfreeze logic
> migration: just lock migrate_fd_put_ready
> buffered_file: Unfold the trick to restart generating migration data
> buffered_file: don't flush on put buffer
> buffered_file: unfold buffered_append in buffered_put_buffer
> savevm: New save live migration method: pending
> migration: move buffered_file.c code into migration.c
> migration: add XFER_LIMIT_RATIO
> migration: move migration_fd_put_ready()
> migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
> migration: move migration notifier
> ram: rename last_block to last_seen_block
> ram: Add last_sent_block
> memory: introduce memory_region_test_and_clear_dirty
> ram: Use memory_region_test_and_clear_dirty
> ram: optimize migration bitmap walking
> ram: account the amount of transferred ram better
> ram: refactor ram_save_block() return value
> migration: merge QEMUFileBuffered into MigrationState
>
> Paolo Bonzini (7):
> migration: fix migration_bitmap leak
> buffered_file: do not send more than s->bytes_xfer bytes per tick
> migration: remove double call to migrate_fd_close
> exec: change ramlist from MRU order to a 1-item cache
> exec: change RAM list to a TAILQ
> exec: sort the memory from biggest to smallest
> migration: fix qemu_get_fd for BufferedFile
>
> Umesh Deshpande (2):
> add a version number to ram_list
> protect the ramlist with a separate mutex
>
> Makefile.objs | 2 +-
> arch_init.c | 245 +++++++++++++++---------------
> block-migration.c | 49 ++----
> buffered_file.c | 269 ---------------------------------
> buffered_file.h | 22 ---
> cpu-all.h | 15 +-
> dump.c | 8 +-
> exec.c | 128 +++++++++++-----
> memory.c | 16 ++
> memory.h | 16 ++
> memory_mapping.c | 4 +-
> migration-exec.c | 3 +-
> migration-fd.c | 4 +-
> migration-tcp.c | 3 +-
> migration-unix.c | 3 +-
> migration.c | 390 ++++++++++++++++++++++++++++++++++++------------
> migration.h | 13 +-
> qemu-file.h | 5 -
> savevm.c | 24 ++-
> sysemu.h | 1 +
> target-i386/arch_dump.c | 2 +-
> vmstate.h | 1 +
> 22 files changed, 599 insertions(+), 624 deletions(-)
> delete mode 100644 buffered_file.c
> delete mode 100644 buffered_file.h
>
>
Yay.
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo
prev parent reply other threads:[~2012-12-19 12:55 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-19 12:33 [Qemu-devel] [PATCH 00/34] migration thread and queue Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 01/34] migration: fix migration_bitmap leak Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 02/34] buffered_file: do not send more than s->bytes_xfer bytes per tick Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 03/34] migration: remove double call to migrate_fd_close Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 04/34] migration: include qemu-file.h Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 05/34] migration-fd: remove duplicate include Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 06/34] exec: change ramlist from MRU order to a 1-item cache Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 07/34] exec: change RAM list to a TAILQ Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 08/34] exec: sort the memory from biggest to smallest Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 09/34] add a version number to ram_list Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 10/34] protect the ramlist with a separate mutex Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 11/34] buffered_file: Move from using a timer to use a thread Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 12/34] migration: make qemu_fopen_ops_buffered() return void Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 13/34] migration: move migration thread init code to migrate_fd_put_ready Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 14/34] migration: make writes blocking Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 15/34] migration: remove unfreeze logic Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 16/34] migration: just lock migrate_fd_put_ready Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 17/34] buffered_file: Unfold the trick to restart generating migration data Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 18/34] buffered_file: don't flush on put buffer Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 19/34] buffered_file: unfold buffered_append in buffered_put_buffer Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 20/34] savevm: New save live migration method: pending Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 21/34] migration: move buffered_file.c code into migration.c Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 22/34] migration: add XFER_LIMIT_RATIO Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 23/34] migration: move migration_fd_put_ready() Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 24/34] migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 25/34] migration: move migration notifier Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 26/34] ram: rename last_block to last_seen_block Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 27/34] ram: Add last_sent_block Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 28/34] memory: introduce memory_region_test_and_clear_dirty Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 29/34] ram: Use memory_region_test_and_clear_dirty Juan Quintela
2012-12-20 23:38 ` Eric Blake
2012-12-19 12:33 ` [Qemu-devel] [PATCH 30/34] ram: optimize migration bitmap walking Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 31/34] ram: account the amount of transferred ram better Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 32/34] ram: refactor ram_save_block() return value Juan Quintela
2012-12-20 23:42 ` Eric Blake
2012-12-19 12:33 ` [Qemu-devel] [PATCH 33/34] migration: fix qemu_get_fd for BufferedFile Juan Quintela
2012-12-19 12:33 ` [Qemu-devel] [PATCH 34/34] migration: merge QEMUFileBuffered into MigrationState Juan Quintela
2012-12-19 12:54 ` Paolo Bonzini [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50D1B91C.3030306@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.