From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDAVP-0006WL-Am for qemu-devel@nongnu.org; Thu, 09 Jul 2015 08:00:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDAVK-0004YY-US for qemu-devel@nongnu.org; Thu, 09 Jul 2015 08:00:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44697) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDAVK-0004Xb-67 for qemu-devel@nongnu.org; Thu, 09 Jul 2015 08:00:38 -0400 Date: Thu, 9 Jul 2015 14:00:34 +0200 From: Martin Kletzander Message-ID: <20150709120034.GD10645@wheatley> References: <1432776186-24515-1-git-send-email-changchun.ouyang@intel.com> <20150708171653-mutt-send-email-mst@redhat.com> <20150709100019-mutt-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="xB0nW4MQa6jZONgY" Content-Disposition: inline In-Reply-To: <20150709100019-mutt-send-email-mst@redhat.com> Subject: Re: [Qemu-devel] [PATCH v5] vhost-user: add multi queue support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: snabb-devel@googlegroups.com, Marcel Apfelbaum , qemu-devel@nongnu.org, Nikolay Nikolaev , Luke Gorrie , thomas.long@intel.com, Maxime Leroy , rkhan@redhat.com, Ouyang Changchun --xB0nW4MQa6jZONgY Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline On Thu, Jul 09, 2015 at 10:06:35AM +0300, Michael S. Tsirkin wrote: >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 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 >> >> Signed-off-by: Changchun Ouyang >> > >> > 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. > Yes, exactly. Unfortunately if QEMU doesn't expose it in any way we don't have many more options. >I think what we can do is accept the command line created >by libvirt, just ignore it and use a single queue only. > Anyway, I think it would be pretty OK to disable it *if and only if* you error out with a sensible error message (e.g. "multiple queues are not supported yet"). And from 2.5 and next libvirt release we can fix this properly (QEMU - exposing the capability and libvirt - checking for it). >> 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 --xB0nW4MQa6jZONgY Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJVnmJiAAoJEAgfwp8kF4bdDpYP/1NPdn+9nmarUIooxrXZBE33 HnV0oWFbHc0STEjXpm9wwaGV8D2AqrymCoysD/DduYkr+RfcJyODsXU6XqQcL115 QHmnlFJBDzEzD5EgZW4QR0lUEYjUaZXlnE14F5qjnoyUmdmaCSYywHi+WEPA0qUR BRyu9ztFndZRzIWZuwjEGEMmcc+ObhQEqpzfySb04scyezv5dy4WwUbfuVa31fU0 sqAWdMfZwxpf6Mg5oKIParZTduTlCSPK5BdxCqpZqbUq2timleWbGa1wrLw8WA2m pTjNxz7SpB2GSqKltezxfiD6IsXwN551sHds6s0dRcd3My5tbNveD+AWffzvzf/o +FBht2CCUiwAbmByC0EkW1tg9n9DKsDFycnT6GUV5jCigA1rq/aabu8sfZZxpiB3 nn1DTjSSpuU2A5uuXoHDXG8r8JxpwA078FgZX9lji7tysXMOd4Y3+z1/jP11mXfD qu9IfqNA+l0tyo/l+G/g47yY+x/K7la5XqRHVJOYypAzsL2jkb/o/ZglsX1QeDzP Idj1RfzLT7pU7Qguw1P5Scq+pQ4FnGJO70QxCVZiJcppurJwuZ/TdE4GjtKu0x8H KgqdUXft6SJxuHHVbx4rjnu62H3nBaDdR15+6ZigdnHW0/z9a/JpWHcpnrl/6heC dYYxEmA8Nqb55u3TJ5P3 =3fUu -----END PGP SIGNATURE----- --xB0nW4MQa6jZONgY--