[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V4 RESEND 15/22] tap: multiqueue support
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [PATCH V4 RESEND 15/22] tap: multiqueue support |
Date: |
Wed, 20 Feb 2013 17:28:20 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 |
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 <address@hidden> 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
- [Qemu-devel] [PATCH V4 RESEND 03/22] net: introduce qemu_get_queue(), (continued)
- [Qemu-devel] [PATCH V4 RESEND 03/22] net: introduce qemu_get_queue(), Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 07/22] net: introduce qemu_net_client_setup(), Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 08/22] net: introduce NetClientState destructor, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 13/22] tap: support enabling or disabling a queue, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 14/22] tap: introduce a helper to get the name of an interface, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 18/22] virtio: add a queue_index to VirtQueue, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 19/22] virtio-net: separate virtqueue from VirtIONet, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 15/22] tap: multiqueue support, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 17/22] virtio: introduce virtio_del_queue(), Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 21/22] virtio-net: migration support for multiqueue, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 12/22] tap: add Linux multiqueue support, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 22/22] virtio-net: compat multiqueue support, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 09/22] net: multiqueue support, Jason Wang, 2013/02/01
- Re: [Qemu-devel] [PATCH V4 RESEND 00/22] Multiqueue virtio-net, Jason Wang, 2013/02/01
- [Qemu-devel] [PATCH V4 RESEND 20/22] virtio-net: multiqueue support, Jason Wang, 2013/02/01