[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking |
Date: |
Mon, 29 Oct 2012 16:51:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) |
Juan Quintela <address@hidden> writes:
> Move all the writes to the migration_thread, and make writings
> blocking. Notice that are still using the iothread for everything
> that we do.
[...]
> diff --git a/qemu-sockets.c b/qemu-sockets.c
> index cfed9c5..61b6e95 100644
> --- a/qemu-sockets.c
> +++ b/qemu-sockets.c
> @@ -276,9 +276,6 @@ static int inet_connect_addr(struct addrinfo *addr, bool
> *in_progress,
> return -1;
> }
> qemu_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
> - if (connect_state != NULL) {
> - socket_set_nonblock(sock);
> - }
> /* connect to peer */
> do {
> rc = 0;
> @@ -732,7 +729,6 @@ int unix_connect_opts(QemuOpts *opts, Error **errp,
> connect_state = g_malloc0(sizeof(*connect_state));
> connect_state->callback = callback;
> connect_state->opaque = opaque;
> - socket_set_nonblock(sock);
> }
>
> memset(&un, 0, sizeof(un));
Doesn't this break inet_nonblocking_connect() and
unix_nonblocking_connect()?
In your cover letter, you wrote:
Note: Writes has become blocking, and I have to change the "remove"
the feature now in qemu-sockets.c. Checked that migration was the
only user of that feature. If new users appear, they just need to add
the socket_set_nonblock() by hand.
Yes, migration-{tcp,unix} are their only users, but if they want a
blocking socket now, why not use inet_connect() and unix_connect()?
New users can't "just add socket_set_nonblock()". They'd have to add it
right where you deleted it: between qemu_socket() and connect(). Else
the connect() is blocking.
[...]
- [Qemu-devel] [PATCH 00/18] Migration thread lite (20121029), Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 01/18] split MRU ram list, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 04/18] buffered_file: Move from using a timer to use a thread, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 05/18] migration: make qemu_fopen_ops_buffered() return void, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 06/18] migration: stop all cpus correctly, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 02/18] add a version number to ram_list, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 03/18] protect the ramlist with a separate mutex, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 09/18] migration: take finer locking, Juan Quintela, 2012/10/29
- [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Juan Quintela, 2012/10/29
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Juan Quintela, 2012/10/29
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Paolo Bonzini, 2012/10/29
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Markus Armbruster, 2012/10/30
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Juan Quintela, 2012/10/30
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Markus Armbruster, 2012/10/30
- Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking, Juan Quintela, 2012/10/30
[Qemu-devel] [PATCH 08/18] migration: remove unfreeze logic, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 10/18] buffered_file: Unfold the trick to restart generating migration data, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 12/18] buffered_file: unfold buffered_append in buffered_put_buffer, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 11/18] buffered_file: don't flush on put buffer, Juan Quintela, 2012/10/29