[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1.1] coroutine: Avoid ucontext usage on i386 Lin

From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 1.1] coroutine: Avoid ucontext usage on i386 Linux host
Date: Wed, 09 May 2012 16:36:42 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1

On 05/09/2012 04:27 PM, Peter Maydell wrote:
On 9 May 2012 21:59, Anthony Liguori<address@hidden>  wrote:
On 05/09/2012 03:46 PM, Peter Maydell wrote:
Longer term (ie post 1.1) I'm strongly in favour of kicking
out coroutines, because I think there clearly is no single
solid portable implementation possible. C just isn't designed
to allow them; better not to try to swim against the current.

Unfortunately, voting for code to be different doesn't actually make it

Yeah, I agree with this sentiment...

If you're volunteering to rewrite the block layer to not require coroutines
(either by using a state machine or by using re-entrant threads and fixing
any locking issues associated with that) that's wonderful.

But we decided to not do synchronous I/O years ago and still haven't removed
it all from the tree.  Coroutines got us much closer to getting rid of
synchronous I/O.

...but I would at least like us to take the position that we don't
introduce *more* users of coroutines.

I think the long term plan has been:

1) replace synchronous I/O users with coroutines + async I/O

2) promote coroutines to threads by introducing fine grain locking.

I don't think avoiding coroutines helps us along this route nor does it help eliminate immediate users of coroutines.

I think our best strategy forward is to get rid of async I/O in the blocker layer and in devices. Then I think we should promote coroutines as much as possible.


Anthony Liguori

-- PMM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]