From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [Qemu-devel] [PATCH V4 RESEND 15/22] tap: multiqueue support Date: Wed, 20 Feb 2013 17:28:20 +0800 Message-ID: <51249734.1090405@redhat.com> References: <1359704396-55327-1-git-send-email-jasowang@redhat.com> <1359704396-55327-16-git-send-email-jasowang@redhat.com> <87621zkuuj.fsf@blackfin.pond.sub.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: krkumar2@in.ibm.com, aliguori@us.ibm.com, kvm@vger.kernel.org, mst@redhat.com, mprivozn@redhat.com, rusty@rustcorp.com.au, qemu-devel@nongnu.org, blauwirbel@gmail.com, shajnocz@redhat.com, jwhan@filewood.snu.ac.kr, gaowanlong@cn.fujitsu.com To: Markus Armbruster Return-path: Received: from mx1.redhat.com ([209.132.183.28]:28142 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934129Ab3BTJ2p (ORCPT ); Wed, 20 Feb 2013 04:28:45 -0500 In-Reply-To: <87621zkuuj.fsf@blackfin.pond.sub.org> Sender: kvm-owner@vger.kernel.org List-ID: On 02/11/2013 06:28 PM, Markus Armbruster wrote: > Commit 264986e2 extended NetdevTapOptions without updating the > documentation. Hasn't been addressed since. Must fix for 1.4, in my > opinion. Will send a patch to fix this. Thanks > > This is the offending patch: > > Jason Wang writes: > >> Recently, linux support multiqueue tap which could let userspace call TUNSETIFF >> for a signle device many times to create multiple file descriptors as >> independent queues. User could also enable/disabe a specific queue through >> TUNSETQUEUE. >> >> The patch adds the generic infrastructure to create multiqueue taps. To achieve >> this a new parameter "queues" were introduced to specify how many queues were >> expected to be created for tap by qemu itself. Alternatively, management could >> also pass multiple pre-created tap file descriptors separated with ':' through a >> new parameter fds like -netdev tap,id=hn0,fds="X:Y:..:Z". Multiple vhost file >> descriptors could also be passed in this way. >> >> Each TAPState were still associated to a tap fd, which mean multiple TAPStates >> were created when user needs multiqueue taps. Since each TAPState contains one >> NetClientState, with the multiqueue nic support, an N peers of NetClientState >> were built up. >> >> A new parameter, mq_required were introduce in tap_open() to create multiqueue >> tap fds. > [...] >> diff --git a/qapi-schema.json b/qapi-schema.json >> index 3a4817b..cdd8384 100644 >> --- a/qapi-schema.json >> +++ b/qapi-schema.json >> @@ -2533,6 +2533,7 @@ >> 'data': { >> '*ifname': 'str', >> '*fd': 'str', >> + '*fds': 'str', >> '*script': 'str', >> '*downscript': 'str', >> '*helper': 'str', >> @@ -2540,7 +2541,9 @@ >> '*vnet_hdr': 'bool', >> '*vhost': 'bool', >> '*vhostfd': 'str', >> - '*vhostforce': 'bool' } } >> + '*vhostfds': 'str', >> + '*vhostforce': 'bool', >> + '*queues': 'uint32'} } >> >> ## >> # @NetdevSocketOptions