[dpdk-dev] [PATCH v2 00/56] net: txgbe PMD

Ferruh Yigit ferruh.yigit at intel.com
Mon Oct 12 10:37:20 CEST 2020


On 10/10/2020 10:45 AM, Jiawen Wu wrote:
> On 10/9/2020 5:47 PM, Ferruh Yigit wrote:
>> On 10/9/2020 4:03 AM, jiawenwu at trustnetic.com wrote:
>>> Hi Ferruh,
>>>
>>> For the syntax/style check issue, should I fix all the errors and warnings or
>> just fix the errors?
>>> It seems to be a lot of warnings.
>>>
>>
>> [Please don't top post, it makes archives un-readable]
>>
>> Please fix all, but beware that there may be false positive in the checkpatch
>> warnings, so you need to process the output first.
>> This is a new PMD, if the syntax is not put correct at first place, very unlikely
>> that it will be fixed later, so lets try to fix them as much as possible.
>>
>> For some drivers, the base code is shared in multiple platforms, like Linux,
>> FreeBSD, Windows etc..., for them we are more flexible and we allow to keep
>> the original syntax of that shared code, *as long as it is consistent within itself*.
>> Do you have similar case in the base folder files?
>>
>> The code for the DPDK should follow the DPDK coding convention [1] and should
>> have as less checkpatch warnings/errors as possible.
>>
>> [1] https://doc.dpdk.org/guides/contributing/coding_style.html
>>
>> Thanks,
>> ferruh
>>
>>
> 
> There are some 'checks' show that macro argument reused will possible take side-effects.
> Like this:
> 
> CHECK:MACRO_ARG_REUSE: Macro argument reuse 'y' - possible side-effects?
> #56: FILE: drivers/net/txgbe/base/txgbe_regs.h:35:
> +#define ROUND_UP(x, y)          (((x) + (y) - 1) / (y) * (y))
> 
> But the example given in the DPDK coding convention is:
> 
> #define MACRO(x, y) do {      \
> 		variable = (x) + (y);   \
> 		(y) += 2;            \
> } while(0)
> 
> It seems to reuse argument, too.
> Should I fix this 'check', or treat it as a false positive?
> 

That is a check, please double check if the usage is safe, and if it is you can 
ignore it.


> 
>>> -----Original Message-----
>>> From: Ferruh Yigit <ferruh.yigit at intel.com>
>>> Sent: Tuesday, October 6, 2020 7:03 PM
>>> To: Jiawen Wu <jiawenwu at trustnetic.com>; dev at dpdk.org
>>> Subject: Re: [dpdk-dev] [PATCH v2 00/56] net: txgbe PMD
>>>
>>> On 10/5/2020 1:08 PM, Jiawen Wu wrote:
>>>> v2: re-order patches and fix some known problems
>>>> v1: introduce txgbe PMD
>>>>
>>>> jiawenwu (56):
>>>>      net/txgbe: add build and doc infrastructure
>>>>      net/txgbe: add ethdev probe and remove
>>>>      net/txgbe: add device init and uninit
>>>>      net/txgbe: add error types and registers
>>>>      net/txgbe: add mac type and bus lan id
>>>>      net/txgbe: add HW infrastructure and dummy function
>>>>      net/txgbe: add EEPROM functions
>>>>      net/txgbe: add HW init and reset operation
>>>>      net/txgbe: add PHY init
>>>>      net/txgbe: add module identify
>>>>      net/txgbe: add PHY reset
>>>>      net/txgbe: add info get operation
>>>>      net/txgbe: add interrupt operation
>>>>      net/txgbe: add device configure operation
>>>>      net/txgbe: add link status change
>>>>      net/txgbe: add multi-speed link setup
>>>>      net/txgbe: add autoc read and write
>>>>      net/txgbe: add MAC address operations
>>>>      net/txgbe: add unicast hash bitmap
>>>>      net/txgbe: add RX and TX init
>>>>      net/txgbe: add RX and TX queues setup and release
>>>>      net/txgbe: add RX and TX start and stop
>>>>      net/txgbe: add packet type
>>>>      net/txgbe: fill simple transmit function
>>>>      net/txgbe: fill transmit function with hardware offload
>>>>      net/txgbe: fill TX prepare funtion
>>>>      net/txgbe: fill receive functions
>>>>      net/txgbe: add device start operation
>>>>      net/txgbe: add RX and TX data path start and stop
>>>>      net/txgbe: add device stop and close operations
>>>>      net/txgbe: support RX interrupt
>>>>      net/txgbe: add RX and TX queue info get
>>>>      net/txgbe: add device stats get
>>>>      net/txgbe: add device xstats get
>>>>      net/txgbe: add queue stats mapping
>>>>      net/txgbe: add VLAN handle support
>>>>      net/txgbe: add SWFW semaphore and lock
>>>>      net/txgbe: add PF module init and uninit for SRIOV
>>>>      net/txgbe: add process mailbox operation
>>>>      net/txgbe: add PF module configure for SRIOV
>>>>      net/txgbe: add VMDq configure
>>>>      net/txgbe: add RSS support
>>>>      net/txgbe: add DCB support
>>>>      net/txgbe: add flow control support
>>>>      net/txgbe: add FC auto negotiation support
>>>>      net/txgbe: add priority flow control support
>>>>      net/txgbe: add device promiscuous and allmulticast mode
>>>>      net/txgbe: add MTU set operation
>>>>      net/txgbe: add FW version get operation
>>>>      net/txgbe: add EEPROM info get operation
>>>>      net/txgbe: add register dump support
>>>>      net/txgbe: support device LED on and off
>>>>      net/txgbe: add mirror rule operations
>>>>      net/txgbe: add PTP support
>>>>      net/txgbe: add DCB info get operation
>>>>      net/txgbe: add Rx and Tx descriptor status
>>>>
>>>
>>> Hi Jiawen,
>>>
>>> Before going into more detailed reviews, the patchset conflicts with some
>> recent changes in the main repo [1], can you please rebase on top of the latest
>> head of the repo?
>>>
>>> Also DPDK syntax/style check scripts are giving errors, can you please fix
>> them too? You should run following to check:
>>> ./devtools/checkpatches.sh -n56
>>> ./devtools/check-git-log.sh -n56
>>> (This one needs codespell package to show spelling errors)
>>>
>>>
>>>
>>> [1] mainly the list is:
>>> 1) PMD close behavior change,
>>>       - .dev_close changes
>>>       - RTE_ETH_DEV_CLOSE_REMOVE flag removed
>>>
>>> 2) Some dev_ops moved to ethdev struct
>>>       - .rx_queue_count
>>>       - .rx_descriptor_done
>>>       - .rx_descriptor_status
>>>       - .tx_descriptor_status
>>>
>>>
>>>
>>>
> 
> 
> 
> 



More information about the dev mailing list