[Top][All Lists]
[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.
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, (continued)
Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Jan Kiszka, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Peter Crosthwaite, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Kevin Wolf, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Peter Maydell, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Peter Crosthwaite, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Stefan Hajnoczi, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Kevin Wolf, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption,
Markus Armbruster <=
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Peter Maydell, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Markus Armbruster, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Peter Maydell, 2012/06/22
- Re: [Qemu-devel] [RFC] block: Removed coroutine ownership assumption, Markus Armbruster, 2012/06/22