From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37791) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TmEjv-0005bN-Px for qemu-devel@nongnu.org; Fri, 21 Dec 2012 21:23:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TmEjs-0007Wu-Qg for qemu-devel@nongnu.org; Fri, 21 Dec 2012 21:23:03 -0500 Received: from mail-ie0-f178.google.com ([209.85.223.178]:48613) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TmEjs-0007Wg-L6 for qemu-devel@nongnu.org; Fri, 21 Dec 2012 21:23:00 -0500 Received: by mail-ie0-f178.google.com with SMTP id c12so6970375ieb.23 for ; Fri, 21 Dec 2012 18:23:00 -0800 (PST) From: Anthony Liguori In-Reply-To: <1356044532-8511-1-git-send-email-quintela@redhat.com> References: <1356044532-8511-1-git-send-email-quintela@redhat.com> Date: Fri, 21 Dec 2012 20:22:53 -0600 Message-ID: <87sj6yakqq.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PULL 00/34] migration thread and queue List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela , qemu-devel@nongnu.org Cc: Paolo Bonzini Juan Quintela writes: > Hi > > Changes for yesterday: > - Paolo Acked the series > - Rebaso on top of today git (only conflicts were due to header re-shuffle) > > Please pull. Pulled. Thanks. Regards, Anthony Liguori > > [20121219] > > 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 pull. > > Thanks, Juan. > > > The following changes since commit 27dd7730582be85c7d4f680f5f71146629809c86: > > Merge remote-tracking branch 'bonzini/header-dirs' into staging (2012-12-19 17:15:39 -0600) > > are available in the git repository at: > > > git://repo.or.cz/qemu/quintela.git thread-20121220.next > > for you to fetch changes up to 9848a40427cd76628d04d918fa4751c542527915: > > migration: merge QEMUFileBuffered into MigrationState (2012-12-20 > 23:09:40 +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 | 3 +- > arch_init.c | 245 +++++++++++++------------- > block-migration.c | 49 ++---- > buffered_file.c | 268 ----------------------------- > buffered_file.h | 22 --- > dump.c | 8 +- > exec.c | 128 +++++++++----- > include/exec/cpu-all.h | 15 +- > include/exec/memory.h | 16 ++ > include/migration/migration.h | 13 +- > include/migration/qemu-file.h | 5 - > include/migration/vmstate.h | 1 + > include/sysemu/sysemu.h | 1 + > memory.c | 16 ++ > memory_mapping.c | 4 +- > migration-exec.c | 3 +- > migration-fd.c | 4 +- > migration-tcp.c | 3 +- > migration-unix.c | 3 +- > migration.c | 390 +++++++++++++++++++++++++++++++----------- > savevm.c | 24 ++- > target-i386/arch_dump.c | 2 +- > 22 files changed, 600 insertions(+), 623 deletions(-) > delete mode 100644 buffered_file.c > delete mode 100644 buffered_file.h