[dpdk-dev] [PATCH v3 1/4] ethdev: increase port_id range

Ferruh Yigit ferruh.yigit at intel.com
Wed Sep 13 15:33:06 CEST 2017


On 9/13/2017 1:18 PM, Thomas Monjalon wrote:
> 13/09/2017 13:56, Ferruh Yigit:
>> On 9/13/2017 3:26 AM, Yang, Zhiyong wrote:
>>> From: Yigit, Ferruh
>>>> On 9/9/2017 3:47 PM, Zhiyong Yang wrote:
>>>>> Extend port_id definition from uint8_t to uint16_t in lib and drivers
>>>>> data structures, specifically rte_eth_dev_data.
>>>>> Modify the APIs, drivers and app using port_id at the same time.
>>>>>
>>>>> Fix some checkpatch issues from the original code and remove some
>>>>> unnecessary cast operations.
>>>>>
>>>>> Signed-off-by: Zhiyong Yang <zhiyong.yang at intel.com>
>>>>
>>>> <...>
>>>>
>>>>> @@ -283,7 +283,7 @@ enum dcb_mode_enable  #define
>>>>> MAX_RX_QUEUE_STATS_MAPPINGS 4096 /* MAX_PORT of 32 @ 128
>>>>> rx_queues/port */
>>>>>
>>>>>  struct queue_stats_mappings {
>>>>> -	uint8_t port_id;
>>>>> +	uint16_t port_id;
>>>>
>>>> Can this be "portid_t port_id;" ? For testpmd, portid_t can be used for all port_id
>>>> declarations.
>>>>
>>>
>>> Ferruh, the suggestion has been discussed in the following thread. Most of people agree on
>>> The basic type uint16_t. :).  Your suggestion was my preference  previously.
>>> At last, I make this decision to use uint16_t.  You know, whatever I use, some ones will stand out and
>>> Say the other is better.  :)
>>> http://www.dpdk.org/dev/patchwork/patch/23208/
>>
>> This discussion was whole dpdk, my comment is for testpmd only.
>>
>> Testpmd already defines "portid_t" and uses it in many places [1]. I am
>> saying why keep using "uint16_t" in some places in testpmd? Lets switch
>> all to "portid_t" while we are touching them all.
>>
>> [1]
>>   -typedef uint8_t  portid_t;
>>   +typedef uint16_t portid_t;
> 
> Or the reverse, we can drop portid_t from testpmd, especially if it is
> not used everywhere in testpmd.
> Note: this typedef hides the size of the port, which may be important
> when optimizing code. 

No strong opinion about keeping "uint16_t" or "portid_t", "portid_t" is
already in use, not sure if worth the effort to remove it.

But I am for unifying the storage type used, one or other.


More information about the dev mailing list