qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]