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.) Use threads, or a genuinely asynchronous API, or a select/poll loop with callbacks, but not more coroutines please. -- PMM