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 <m...@redhat.com> 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 <n.nikol...@virtualopensystems.com> > >> Signed-off-by: Changchun Ouyang <changchun.ouy...@intel.com> > > > > 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