[dpdk-dev] [PATCH v3 1/4] ethdev: increase port_id range
Wiles, Keith
keith.wiles at intel.com
Tue Sep 19 14:30:44 CEST 2017
> On Sep 19, 2017, at 1:05 AM, Yang, Zhiyong <zhiyong.yang at intel.com> wrote:
>
>
>
>> -----Original Message-----
>> From: Yigit, Ferruh
>> Sent: Wednesday, September 13, 2017 9:33 PM
>> To: Thomas Monjalon <thomas at monjalon.net>
>> Cc: Yang, Zhiyong <zhiyong.yang at intel.com>; dev at dpdk.org; Doherty, Declan
>> <declan.doherty at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>;
>> hemant.agrawal at nxp.com; Hunt, David <david.hunt at intel.com>; Richardson,
>> Bruce <bruce.richardson at intel.com>; Ananyev, Konstantin
>> <konstantin.ananyev at intel.com>
>> Subject: Re: [PATCH v3 1/4] ethdev: increase port_id range
>>
>> 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.
>
> Think again. If basic type can bring the benefit as Thomas said, we may consider to use uint16_t instead of portid_t in testpmd.
We have already decided to use uint16_t for the port ID type and we should convert testpmd to use that typedef instead of the one it is using. I know this changes testpmd a bit, but it is also very low risk to testpmd.
>
> Zhiyong
Regards,
Keith
More information about the dev
mailing list