qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] converting the block layer from coroutines to threads


From: Anthony Liguori
Subject: Re: [Qemu-devel] converting the block layer from coroutines to threads
Date: Fri, 24 Feb 2012 13:22:34 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15

On 02/24/2012 01:02 PM, Paolo Bonzini wrote:
Hi all,

a few weeks ago Stefan Hajnoczi pointed me to his work on virtio-blk
performance.

Stefan's work had two sides.  First, he captured very nice performance
data of the block layer at
http://www.linux-kvm.org/page/Virtio/Block/Latency; second, in order to
measure peak performance, he basically implemented "vhost-blk" in
userspace.

I don't think the improvements here have anything to do with the block layer.

We've done the same thing with virtio-net and saw impressive performance results as a consequence. Conversely, we see a similar improvement by applying the same technique to vhost-net.

Virtio really wants each virtqueue to be processed in a separate thread. On a multicore system, there's considerable improvement doing this.

I think that's where we ought to start. We really just need the block layer to be re-entrant, we don't actually need qcow2 or anything else that uses coroutines to use full threads.

Or at least, as far as I know, we don't have any performance data to suggest that we do.

Regards,

Anthony Liguori



reply via email to

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