From: Anthony Liguori <aliguori@us.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PULL 00/12] Incoming migration coroutine
Date: Fri, 02 Nov 2012 14:12:50 -0500 [thread overview]
Message-ID: <87y5ijn7il.fsf@codemonkey.ws> (raw)
In-Reply-To: <1351878665-32413-1-git-send-email-pbonzini@redhat.com>
Paolo Bonzini <pbonzini@redhat.com> writes:
> Anthony,
>
> The following changes since commit 4ba79505f43bd0ace35c3fe42197eb02e7e0478e:
>
> Merge remote-tracking branch 'kraxel/pixman.v3' into staging (2012-11-01 11:14:39 -0500)
>
> are available in the git repository at:
Pulled. Thanks.
Regards,
Anthony Liguori
>
>
> git://github.com/bonzini/qemu.git migr-coroutine
>
> for you to fetch changes up to 82a4da79fd6c108400637143f8439c2364bdb21e:
>
> migration: move process_incoming_migration to a coroutine (2012-11-02 18:35:08 +0100)
>
> With these patches, the monitor and the NBD server are responsive during
> migration.
>
> The first ten patches are just cleanups, generalizing some parts of
> QEMUFile and improving the way migration sockets are closed.
>
> The last two actually implement the feature. They are the opposite
> change of the nonblocking->blocking change that you implemented for the
> migration thread. However, the change is much simpler because we have
> no timers, and because of the use of coroutines.
>
> Without coroutines (and as in non-threaded migration), you have
> to proceed in two steps: first collect data in a buffer, then
> write it. This lets you handle EAGAIN only at precise points in
> buffered_flush/buffered_put_buffer, so that you can restart writing
> in migrate_fd_put_notify. This "checkpointing" is the reason why
> QEMUFileBuffered exists. With coroutines, you can just stop whenever
> you want with qemu_coroutine_yield. As soon as select tells you that
> you can read, you'll re-enter directly in qemu_get_buffer, read more
> data and pass it to the loading routines.
>
> Paolo
> ----------------------------------------------------------------
> Paolo Bonzini (12):
> migration: unify stdio-based QEMUFile operations
> migration: consolidate QEMUFile methods in a single QEMUFileOps struct
> migration: add qemu_get_fd
> migration: replace qemu_stdio_fd with qemu_get_fd
> migration: clean up server sockets and handlers before invoking process_incoming_migration
> migration: use migrate_fd_close in migrate_fd_cleanup
> migration: use closesocket, not close
> migration: xxx_close will only be called once
> migration: close socket QEMUFile from socket_close
> migration: move qemu_fclose to process_incoming_migration
> migration: handle EAGAIN while reading QEMUFile
> migration: move process_incoming_migration to a coroutine
>
> buffered_file.c | 21 +++++--
> migration-exec.c | 19 +++---
> migration-fd.c | 36 +++++------
> migration-tcp.c | 19 +++---
> migration-unix.c | 17 +++--
> migration.c | 46 ++++++++++----
> qemu-file.h | 23 ++++---
> savevm.c | 188 ++++++++++++++++++++++++++++++++-----------------------
> 8 file modificati, 215 inserzioni(+), 154 rimozioni(-)
> --
> 1.7.12.1
prev parent reply other threads:[~2012-11-02 19:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-02 17:50 [Qemu-devel] [PULL 00/12] Incoming migration coroutine Paolo Bonzini
2012-11-02 17:50 ` [Qemu-devel] [PATCH 01/12] migration: unify stdio-based QEMUFile operations Paolo Bonzini
2012-11-02 17:50 ` [Qemu-devel] [PATCH 02/12] migration: consolidate QEMUFile methods in a single QEMUFileOps struct Paolo Bonzini
2012-11-02 17:50 ` [Qemu-devel] [PATCH 03/12] migration: add qemu_get_fd Paolo Bonzini
2012-11-02 17:50 ` [Qemu-devel] [PATCH 04/12] migration: replace qemu_stdio_fd with qemu_get_fd Paolo Bonzini
2012-11-02 17:50 ` [Qemu-devel] [PATCH 05/12] migration: clean up server sockets and handlers before invoking process_incoming_migration Paolo Bonzini
2012-11-02 17:50 ` [Qemu-devel] [PATCH 06/12] migration: use migrate_fd_close in migrate_fd_cleanup Paolo Bonzini
2012-11-02 17:51 ` [Qemu-devel] [PATCH 07/12] migration: use closesocket, not close Paolo Bonzini
2012-11-02 17:51 ` [Qemu-devel] [PATCH 08/12] migration: xxx_close will only be called once Paolo Bonzini
2012-11-02 17:51 ` [Qemu-devel] [PATCH 09/12] migration: close socket QEMUFile from socket_close Paolo Bonzini
2012-11-02 17:51 ` [Qemu-devel] [PATCH 10/12] migration: move qemu_fclose to process_incoming_migration Paolo Bonzini
2012-11-02 17:51 ` [Qemu-devel] [PATCH 11/12] migration: handle EAGAIN while reading QEMUFile Paolo Bonzini
2012-11-02 17:51 ` [Qemu-devel] [PATCH 12/12] migration: move process_incoming_migration to a coroutine Paolo Bonzini
2012-11-02 19:12 ` Anthony Liguori [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=87y5ijn7il.fsf@codemonkey.ws \
--to=aliguori@us.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.