Re: [Qemu-devel] [PATCH v4 1/3] coroutine: introduce coroutines

2011-05-21 Thread Blue Swirl
On Fri, May 20, 2011 at 1:59 PM, Stefan Hajnoczi wrote: > From: Kevin Wolf > > Asynchronous code is becoming very complex.  At the same time > synchronous code is growing because it is convenient to write. > Sometimes duplicate code paths are even added, one synchronous and the > other asynchrono

Re: [Qemu-devel] [PATCH v4 1/3] coroutine: introduce coroutines

2011-05-20 Thread Stefan Hajnoczi
On Fri, May 20, 2011 at 1:09 PM, Paolo Bonzini wrote: > On 05/20/2011 12:59 PM, Stefan Hajnoczi wrote: >> >> This coroutines implementation is based on the gtk-vnc implementation >> written by Anthony Liguori  but it has been >> significantly rewritten by Kevin Wolf  to use >> setjmp()/longjmp() i

Re: [Qemu-devel] [PATCH v4 1/3] coroutine: introduce coroutines

2011-05-20 Thread Paolo Bonzini
On 05/20/2011 12:59 PM, Stefan Hajnoczi wrote: This coroutines implementation is based on the gtk-vnc implementation written by Anthony Liguori but it has been significantly rewritten by Kevin Wolf to use setjmp()/longjmp() instead of the more expensive swapcontext() and by Paolo Bonzini for W

[Qemu-devel] [PATCH v4 1/3] coroutine: introduce coroutines

2011-05-20 Thread Stefan Hajnoczi
From: Kevin Wolf Asynchronous code is becoming very complex. At the same time synchronous code is growing because it is convenient to write. Sometimes duplicate code paths are even added, one synchronous and the other asynchronous. This patch introduces coroutines which allow code that looks sy