qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Block layer roadmap


From: Anthony Liguori
Subject: Re: [Qemu-devel] Block layer roadmap
Date: Thu, 28 Jul 2011 07:52:24 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 07/28/2011 07:09 AM, Christoph Hellwig wrote:
On Wed, Jul 27, 2011 at 01:37:31PM +0100, Stefan Hajnoczi wrote:
Coroutines in the block layer [Kevin]
  * Programming model to simplify block drivers without blocking QEMU threads

Can anyone explain what the whole point of this is?  It really just is
a bit of syntactic sugar for the current async state machines.  What does
it buy us over going for real threading?

It is threading--just with a common locking model where a single big lock is held to make up for the fact that most of QEMU isn't reentrant.

By restructuring the code to be threaded, we can incrementally remove the big lock if we audit for use of non-reentrant functions and introduce more granular locking.

The whole ucontext/setjmp thing is just an optimization. I would hope it entirely disappears long term as we promote coroutines to full threads.

Regards,

Anthony Liguori







reply via email to

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