[dpdk-dev] [RFC PATCH v1 1/4] ethdev: add support for PMD-tuned Tx/Rx parameters

Ferruh Yigit ferruh.yigit at intel.com
Wed Mar 14 17:42:31 CET 2018


On 3/14/2018 3:48 PM, Remy Horton wrote:
> 
> On 14/03/2018 14:43, Ferruh Yigit wrote:
> [..]
>>>  lib/librte_ether/rte_ethdev.c | 18 ++++++++++++++++++
>>>  lib/librte_ether/rte_ethdev.h | 15 +++++++++++++++
>>
>> Can you please remove deprecation notice in this patch.
> 
> Done.
> 
>>> +	/* Defaults for drivers that don't implement preferred
>>> +	 * queue parameters.
> [..]
>> Not sure about having these defaults here. It is OK to have defaults in driver,
>> in application or in config file, but I am not sure if putting them into device
>> abstraction layer hides them.
>>
>> What about not providing any default in ethdev layer, and get zero as invalid
>> when using them?
> 
> This is something I have been thinking about, and I am going to remove 
> them for the V2. Original motive was to avoid breaking testpmd for PMDs 
> that don't give defaults (i.e. almost all of them). The alternative is 
> to put place-holders into all the PMDs themselves, but I am not sure if 
> this is appropriate.

I think preferred values should be optional, PMD should have right to not
provide any. Implementation in 4/4 forces preferred values, either in all PMDs
or in ethdev layer.

What about changing approach in application:
 is preferred value provided [1] ?
  yes => use it by sending value 0
  no => use application provided value, same as now, so control should be in
application.

I am aware this breaks the comfort of just providing 0 and PMD values will be
used but covers the case there is no PMD values.

[1]
it can be possible to check if preferred value provided by comparing 0, but if 0
is a valid value that can be problem. It may not be problem with current
variables but it may be when this struct extended, it may be good to think about
alternative here.



More information about the dev mailing list