qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5] vhost-user: add multi queue support


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v5] vhost-user: add multi queue support
Date: Thu, 9 Jul 2015 10:06:35 +0300

On Thu, Jul 09, 2015 at 12:00:59AM +0200, Maxime Leroy wrote:
> Hi Michael,
> 
> On Wed, Jul 8, 2015 at 4:29 PM, Michael S. Tsirkin <address@hidden> wrote:
> > On Thu, May 28, 2015 at 09:23:06AM +0800, Ouyang Changchun wrote:
> >> Based on patch by Nikolay Nikolaev:
> >> Vhost-user will implement the multi queue support in a similar way
> >> to what vhost already has - a separate thread for each queue.
> >> To enable the multi queue functionality - a new command line parameter
> >> "queues" is introduced for the vhost-user netdev.
> >>
> >> Signed-off-by: Nikolay Nikolaev <address@hidden>
> >> Signed-off-by: Changchun Ouyang <address@hidden>
> >
> > So testing turned up a significant issue with the protocol extension in this
> > one.  Specifically, remote has no idea how many queues guest actually
> > wants to use (it's dynamic, guest changes this at any time).
> > We need support for enabling and disabling queues dynamically.
> >
> > Given we are past hard freeze, and given no one uses this yet
> > (dpdk upstream did not merge supporting protocol),
> > I think the best thing to do is to disable this functionality for 2.4.
> > I will send a patch to do this shortly.
> 
> You are making a wrong statement, we already use multiqueue for
> vhost-user and we expected to have this support officially integrated
> in qemu 2.4.
> 
> Libvirt 1.2.17 has been released with multiqueue support for
> vhost-user. 
> (http://libvirt.org/git/?p=libvirt.git;a=commit;h=366c22f2bcf1ddb8253c123f93fd18d1ba9eacd6)
> It checks against the version of qemu (i.e. 2.4)  to know if
> multiqueue is supported or not by qemu.
> (http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=7971723b985b9adc27122a3503e7ab38ced2b57f;hp=e7f5510ef2d28ca0ae0ed5751b1fd3018130d6c1)

Ouch. Just another example showing how version checks are evil.
We don't want to break libvirt, I agree.

I think what we can do is accept the command line created
by libvirt, just ignore it and use a single queue only.

> Dynamically enabling/disabling queue between host/guest is a nice
> feature to have.
> But it's not mandatory.

It's mandated by the virtio spec.

> You can still configure manually guest and
> host to use the same number of queues.
> 
> I think this feature can be implemented later in qemu 2.5.
> 
> Regards,
> 
> Maxime

Sorry, that's not how virtio is supposed to work. It must downgrade
gracefully, not just stop working or crash guest.

-- 
MST



reply via email to

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