[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: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH 07/18] migration: make writes blocking |
Date: |
Tue, 30 Oct 2012 12:08:19 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) |
Markus Armbruster <address@hidden> wrote:
> Juan Quintela <address@hidden> writes:
>>>>>
>>>>> 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.
>>>>
>>>> Grrr.
>>>>
>>>> So, is there any way to make a connection that is non-blocking, but then
>>>> writes are blocking?
>>>
>>> Which operations on the migration socket do you need to block, and which
>>> ones do you need not to block?
>>
>> connect: not blocking (done on the iothread)
>> writes: blocking, done in the migration thread.
>>
>> I think thet socket_set_block() that paolo says is the right solution.
>
> Sounds good.
>
> By the way, I probably would've missed this had you not pointed to it in
> the cover letter. Smart move on your part.
I knew somebody would have noticed, so it was supposed to be a "priori"
apologize ....
thanks, Juan.
- [Qemu-devel] [PATCH 02/18] add a version number to ram_list, (continued)
- [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, 2012/10/29
- 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 <=
[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
[Qemu-devel] [PATCH 18/18] ram: optimize migration bitmap walking, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 15/18] migration-fd: remove duplicate include, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 13/18] savevm: New save live migration method: pending, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 16/18] memory: introduce memory_region_test_and_clear_dirty, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 14/18] migration: include qemu-file.h, Juan Quintela, 2012/10/29
[Qemu-devel] [PATCH 17/18] ram: Use memory_region_test_and_clear_dirty, Juan Quintela, 2012/10/29