From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58124) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDB14-0005Mq-St for qemu-devel@nongnu.org; Thu, 09 Jul 2015 08:33:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDB12-0005kd-6Y for qemu-devel@nongnu.org; Thu, 09 Jul 2015 08:33:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57296) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDB11-0005kI-Vb for qemu-devel@nongnu.org; Thu, 09 Jul 2015 08:33:24 -0400 Date: Thu, 9 Jul 2015 14:33:20 +0200 From: Martin Kletzander Message-ID: <20150709123320.GA7266@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> <20150709120034.GD10645@wheatley> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="qDbXVdCdHGoSgWSk" Content-Disposition: inline In-Reply-To: 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: Maxime Leroy Cc: snabb-devel , Marcel Apfelbaum , "Michael S. Tsirkin" , qemu-devel , Nikolay Nikolaev , Luke Gorrie , "thomas.long" , rkhan , Ouyang Changchun --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline On Thu, Jul 09, 2015 at 02:24:51PM +0200, Maxime Leroy wrote: >Hi Martin, Michael, > >On Thu, Jul 9, 2015 at 2:00 PM, Martin Kletzander wrote: >> 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"). > >I consider that accepting the queue parameter for vhost-user but only >creates a single queue is a bug. >Unfortunately I don't think we have many solution here for libvirt 1.2.17.0 > >Agree with Martin, at least, we should display an error message. > >> >> And from 2.5 and next libvirt release we can fix this properly >> (QEMU - exposing the capability and libvirt - checking for it). > >is it possible to backport this fix in the branch 1.2.17 of libvirt ? > Yes, sure, that's what maintenance branches are for ;) --qDbXVdCdHGoSgWSk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJVnmoQAAoJEAgfwp8kF4bdkxcQAK9yTfOvUmNm2gxlQqnExufL dNvNaS8wZ3lyeCjALuWX4KJcijsKUXvsAemL6ov2sjAZrnLk0y2JM4BtTNdf6HAg 3h2Ti5PEFNiA1PteBsYnYEuno5u43i+4Xx3zV1x1Pi6mg94v2PTqC9FloFEqcZCB Ez/GxX/5BY83QsMQhg0k1KfwmLUgawm8lPerTgGgb3yLjrAOHGDdtk8zW48ouwjf C/I6qeyDwjvscVo158Kuew3T4AwH4ymHEI5uBYa8hrtkanFY/x/haggNtGMKyraz SJ6/ZQrDRN8+m9TBhdp5AOu2klNo03ILFVgtOzNTdOScpgCeqqakeCTcDalc557q ADbz9AKnbOh4niBrg1cl1BnubekZaJY0HOr/wtcaYhh8tusrXTEj3imhzBq94e2W zWI23ncsxxTJXy+Q9c3IpvOVu8K1/emS8f0b35zIGXBAJ8SYlkTUZfXRQ6HSyIGJ rwhi2wa7lzxI5fS+aMXLrixLgNJUR2tc0TSRBa6Kr/sMoTU54k2c1x9aZRzb4uOn vcNgH43nVBwxWBeI+Ip5dienp3mtuyU9BTY7LbAL5XH+ERM5KswYjvUD/e+DQeTu q8HVYjBsHF+RQ/aP9I4wanOZrx1ad4wYO8pNNzEFyZ7I7SkekxqnrzcAIrlIJqiL UYUNvX0XZxTZjUCNcu5o =FywB -----END PGP SIGNATURE----- --qDbXVdCdHGoSgWSk--