qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] virtio-blk multiqueue support in qemu.


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] virtio-blk multiqueue support in qemu.
Date: Mon, 13 Jul 2015 11:04:37 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Jul 09, 2015 at 04:29:30PM +0300, Michael S. Tsirkin wrote:
> On Thu, Jul 09, 2015 at 02:22:48PM +0100, Stefan Hajnoczi wrote:
> > On Wed, Jul 08, 2015 at 05:37:12PM +0300, Michael S. Tsirkin wrote:
> > > On Thu, Jul 02, 2015 at 09:21:21AM +0800, Fam Zheng wrote:
> > > > On Wed, 07/01 22:45, Naredula Janardhana Reddy wrote:
> > > > > HI,
> > > > >      I am trying to improve the throughput of  virtio-blk for my 
> > > > > kernel (
> > > > > https://github.com/naredula-jana/Jiny-Kernel  )  to make use of the
> > > > > multi-core using multi-queue. But I found the latest qemu  does not 
> > > > > support
> > > > > multiqueue for virtio-blk, The feature flag does not return 
> > > > > multi-queue
> > > > > support. Do we have any patches to the qemu for enabling multi-queue 
> > > > > for
> > > > > virtio-blk similar to that of virtio-net.  Can someone help some 
> > > > > pointers
> > > > > related to this..
> > > > 
> > > > There was a series last year adding support for multi-queue but wan't 
> > > > merged to
> > > > the code base:
> > > > 
> > > > http://comments.gmane.org/gmane.comp.emulators.qemu/289126
> > > > 
> > > > Fam
> > > 
> > > Looks like it was mostly about the missing GPL license on some files.
> > > Or did I miss some bigger issues?
> > 
> > I reviewed the series again.  The most important part:
> > 
> > It was not a true multiqueue implementation - all the virtqueues are
> > handled from a single thread in QEMU.  The reason for this is that
> > QEMU's block layer isn't threadsafe so a lot of work is necessary to
> > support true multiqueue.
> > 
> > Also, the performance numbers quoted cannot be attributed to multiqueue
> > due to the number of additional changes the series made.  In the
> > meantime, some of these additional changes have been merged as separate
> > series.
> > 
> > On the positive side, we do need something similar to the last 3 patches
> > to expose multiqueue to the guest.  But it will require much more work
> > in QEMU to achieve true multiqueue.
> > 
> > Stefan
> 
> Might this be useful as an intermediate step, e.g. for testing
> guest code?

Yes.

It will have a performance impact since there are now more virtqueues
and interrupts.  It just won't scale the same way blk-mq does on the
host.

I'll put together patches based on qemu.git/master.

Stefan

Attachment: pgpqepW2yASfa.pgp
Description: PGP signature


reply via email to

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