[dpdk-dev] DPDK RSS support for ixgbevf PMD

Vlad Zolotarov vladz at cloudius-systems.com
Thu Dec 18 11:33:43 CET 2014


On 12/18/14 03:32, Ouyang, Changchun wrote:
> Hi
>
>> -----Original Message-----
>> From: Vlad Zolotarov [mailto:vladz at cloudius-systems.com]
>> Sent: Wednesday, December 17, 2014 4:47 PM
>> To: Ouyang, Changchun; Thomas Monjalon
>> Cc: dev at dpdk.org; Avi Kivity; Gleb Natapov
>> Subject: Re: [dpdk-dev] DPDK RSS support for ixgbevf PMD
>>
>>
>> On 12/17/14 03:03, Ouyang, Changchun wrote:
>>> Hi ,
>>>
>>>> -----Original Message-----
>>>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vlad Zolotarov
>>>> Sent: Tuesday, December 16, 2014 11:36 PM
>>>> To: Thomas Monjalon
>>>> Cc: dev at dpdk.org; Avi Kivity; Gleb Natapov
>>>> Subject: Re: [dpdk-dev] DPDK RSS support for ixgbevf PMD
>>>>
>>>>
>>>> On 12/15/14 22:33, Thomas Monjalon wrote:
>>>>> 2014-12-15 21:11, Vladislav Zolotarov:
>>>>>> Hi,
>>>>>> I'm running an ixgbevf PMD on an AWS guests with extended
>>>>>> networking (SR-IOV functions of 82599 Intel's NIC) and noticed that
>>>>>> even in the current git tree there is no support for a multi-queue in this
>> PMD:
>>>>>> reta size returned by rte_eth_dev_info_get() call is 0, while
>>>>>> max_rx_queues and max_tx_queues are both 4.
>>>>>>
>>>>>> Linux ixgbevf-2.15.3 driver on the other hand successfully
>>>>>> initializes 2 RSS queues: for some reason it always limits the
>>>>>> number of
>>>> RSS queues by 2.
>>>>>> ixgbevf_main.c: line 2539
>>>>>> u16 rss = min_t(u16, num_online_cpus(), 2);
>>>>>>
>>>>>> The above is strange since if MRQE is set to 1010b there are 4 RSS
>>>>>> queues available which seems to be the case in my AWS Guest.
>>>>>>
>>>>>> However, let's get back to DPDK. As I've mentioned above the SR-IOV
>>>>>> function i have is RSS capable (to be 100% sure I've verified both
>>>>>> queues are receiving packets in a multi-socket TCP test). And it's
>>>>>> a shame I can't utilize it with a DPDK.
>>>>> Yes, it is not yet supported.
>>>>> But a patch was recently sent:
>>>>> 	http://dpdk.org/ml/archives/dev/2014-December/010028.html
>>>> Applying this patchset seems to break the NIC fast path functionality
>>>> of a AWS Guest NIC.
>>>> I'm still debugging it - will update u as soon as I have more specific info.
>> Hi, thanks for tips but I have a question below.
>>
>>> Pls make sure enabling and using 4 queues on guest
>> Why should I enable all 4? Won't any number below or equal 4 work if (!)
>> 4 queues are available?
>> Note that there is a 82599 mode when only 2 RSS queues are available per
>> VF: MRQE=1011b.
>>
> Yes you are right, it could be 2 queues, the actual queue number per VF depends on the number of VF:
> VF number from 1~32:     4 queues per VF;
> VF number from 33~64:   2 queues per VF;
> The queue number is determined by the vf number at the pf init stage,
> If pf setup 4 queues for each vf and distribute packets to 4 queues, but vf only poll 1 or 2 queue,
> Then packets in other queues will be lost.
> You can try to poll 4 queues firstly to debug your issue.

Sure. When I hardcoded the queues number to 4 all works like a charm. 
The problem is that we can't leave it this way. I've posted some 
comments to your patches (0 and 5). Since I've joined the list after the 
patches have been sent I had to paste the patches bodies into my email 
and they will most like not appear in the thread of the original series. 
I hope this won't be a big problem... ;)

vlad

> Thanks
> Changchun
>



More information about the dev mailing list