[dpdk-dev] [dpdk-stable] [PATCH] net/sfc: specify correct scale table size on Rx start

Andrew Rybchenko arybchenko at solarflare.com
Wed Aug 30 11:16:12 CEST 2017


On 08/29/2017 08:03 PM, Ferruh Yigit wrote:
> On 8/28/2017 1:53 PM, Andrew Rybchenko wrote:
>> From: Ivan Malov <ivan.malov at oktetlabs.ru>
>>
>> efx_rx_scale_tbl_set() takes the number of entries in the scale table
>> to be set, not the size of the table in bytes; currently this bug does
>> not make any damage since the size argument is used to wrap the loop
>> on the input table when filling in an MCDI request in case if the table
>> size in the MCDI request is larger then one provided by the user,
>> and MCDI scale table size is the same as the size of the table provided
>> by the driver; this patch brings a fix for the bug
>>
>> Fixes: 4ec1fc3ba881 ("net/sfc: add basic stubs for RSS support on driver attach")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Ivan Malov <ivan.malov at oktetlabs.ru>
>> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
>> ---
>>   drivers/net/sfc/sfc_rx.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
>> index 1bf8644..364f718 100644
>> --- a/drivers/net/sfc/sfc_rx.c
>> +++ b/drivers/net/sfc/sfc_rx.c
>> @@ -1068,7 +1068,7 @@ struct sfc_dp_rx sfc_efx_rx = {
>>   			goto finish;
>>   
> It is not shown in this patch, but there is "sizeof(sa->rss_key)" usage
> here, since its type is uint8_t, it is not wrong, but it can be good to
> change that one too to RTE_DIM() both to show the intent and to be safe
> if in the future type updated... But this is your call to update or not.

In theory API annotation in efx.h says __in_ecount(n), so it should be 
element
count and RTE_DIM() should be used. However, the RSS hash key semantics is
just a byte string and I think it would be more correct to annotate it as
__in_bcount(n) regardless element size. I'll discuss it internally, but 
right now
I would prefer to keep it as is just to avoid code shuffling.

Thanks,
Andrew.


More information about the dev mailing list