From: Jason Wang <jasowang@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
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
Subject: Re: [Qemu-devel] [PATCH V4 RESEND 15/22] tap: multiqueue support
Date: Wed, 20 Feb 2013 17:28:20 +0800 [thread overview]
Message-ID: <51249734.1090405@redhat.com> (raw)
In-Reply-To: <87621zkuuj.fsf@blackfin.pond.sub.org>
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 <jasowang@redhat.com> 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
next prev parent reply other threads:[~2013-02-20 9:28 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-01 7:39 [PATCH V4 RESEND 00/22] Multiqueue virtio-net Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 01/22] net: tap: using bool instead of bitfield Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 02/22] net: tap: use abort() instead of assert(0) Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 03/22] net: introduce qemu_get_queue() Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 04/22] net: introduce qemu_get_nic() Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 05/22] net: intorduce qemu_del_nic() Jason Wang
2013-02-01 18:00 ` Eric Blake
2013-02-01 7:39 ` [PATCH V4 RESEND 06/22] net: introduce qemu_find_net_clients_except() Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 07/22] net: introduce qemu_net_client_setup() Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 08/22] net: introduce NetClientState destructor Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 09/22] net: multiqueue support Jason Wang
2013-02-12 21:21 ` [Qemu-devel] " Alexander Graf
2013-02-19 7:45 ` Jason Wang
2013-02-12 21:24 ` [Qemu-devel] " Andreas Färber
2013-02-01 7:39 ` [PATCH V4 RESEND 10/22] tap: import linux multiqueue constants Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 11/22] tap: factor out common tap initialization Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 12/22] tap: add Linux multiqueue support Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 13/22] tap: support enabling or disabling a queue Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 14/22] tap: introduce a helper to get the name of an interface Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 15/22] tap: multiqueue support Jason Wang
2013-02-01 22:43 ` [Qemu-devel] " Eric Blake
2013-02-11 10:28 ` Markus Armbruster
2013-02-20 9:28 ` Jason Wang [this message]
2013-02-01 7:39 ` [PATCH V4 RESEND 17/22] virtio: introduce virtio_del_queue() Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 18/22] virtio: add a queue_index to VirtQueue Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 19/22] virtio-net: separate virtqueue from VirtIONet Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 20/22] virtio-net: multiqueue support Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 21/22] virtio-net: migration support for multiqueue Jason Wang
2013-02-01 7:39 ` [PATCH V4 RESEND 22/22] virtio-net: compat multiqueue support Jason Wang
2013-02-01 8:22 ` [PATCH V4 RESEND 00/22] Multiqueue virtio-net Jason Wang
2013-02-04 22:53 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51249734.1090405@redhat.com \
--to=jasowang@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=gaowanlong@cn.fujitsu.com \
--cc=jwhan@filewood.snu.ac.kr \
--cc=krkumar2@in.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mprivozn@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rusty@rustcorp.com.au \
--cc=shajnocz@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox