Il 14/03/2013 11:04, Peter Maydell ha scritto: > On 13 March 2013 12:34, Anthony Liguori <anth...@codemonkey.ws> wrote: >> AioContext is necessary for the block layer because the block layer >> still has synchronous I/O. I think we should aim to replace all sync >> I/O in the long term with coroutine based I/O. > > I think coroutines are dreadful and we should really not be moving > towards greater use of them. They're just really really not portable > and they don't fit with the C language, and they're a constant source > of problems.(For instance I have a bug I need to look into where we > seem to hang using the gthread coroutine backend but not sigaltstack.)
The gthread coroutine backend is really more for debugging than anything else. It works for qemu-io/img, but not for QEMU. Good that you actually found proof. :) Paolo > Use threads, or a genuinely asynchronous API, or a select/poll loop > with callbacks, but not more coroutines please. > > -- PMM >