qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption


From: Markus Armbruster
Subject: Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption
Date: Fri, 22 Jun 2012 10:48:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Peter Maydell <address@hidden> writes:

> On 22 June 2012 09:00, Peter Crosthwaite
> <address@hidden> wrote:
>> On Fri, Jun 22, 2012 at 5:50 PM, Jan Kiszka <address@hidden> wrote:
>>> Not sure if I understood the intention yet: Is this supposed to fix an
>>> issue with the current usage of coroutines or to extend their usage
>>> beyond that? In the latter case, please don't do this. We'd rather like
>>> to get rid of them long term.
>
>> My extended usage, which is under development and not ready for the
>> list. But are you saying qemu-coroutine is deprecated? If so Ill just
>> re-impelement my work with threads, mutexes and condition vars, but
>> coroutines are the most natural way of doing it.
>
> Basically coroutines are nastily unportable and we've had a set
> of problems with them (as witness the fact that we have three
> separate backend implementations!). There is supposedly some sort
> of migration plan for getting them out of the block layer eventually;
> they're a kind of halfway house for avoiding synchronous I/O there
> AIUI. I would much prefer not to see any further use of them in new
> code. Fundamentally C doesn't support coroutines and it's much better
> to just admit that IMHO and use more idiomatic design approaches
> instead.

I think you're overstating your case.  People have been doing coroutines
in C for decades, on a huge range of machines.  They wouldn't have done
so if it wasn't worth their while.  Not what I'd call a "fundamental"
problem.

In my opinion, coroutines have been useful for us so far.  Whether they
remain useful, or serve us just as a stepping stone towards general
threads remains to be seen.

As Kevin said, there are no concrete plans to convert the block layer
away from coroutines.



reply via email to

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