[dpdk-dev] [PATCH v6 1/8] ether: refine debug build option

Ferruh Yigit ferruh.yigit at intel.com
Wed May 5 16:38:56 CEST 2021


On 5/5/2021 1:21 PM, Michał Krawczyk wrote:
> śr., 5 maj 2021 o 13:45 Ferruh Yigit <ferruh.yigit at intel.com> napisał(a):
>>
>> On 4/1/2021 3:30 PM, Ferruh Yigit wrote:
>>> On 3/31/2021 10:52 AM, Qi Zhang wrote:
>>>> PMDs use RTE_LIBRTE_<PMD_NAME>_DEBUG_RX|TX as build option to wrap
>>>> data path debug code. As .config has been removed since the meson build,
>>>> It is not friendly for new DPDK users to notice those debug options.
>>>>
>>>> The patch introduces below build options for data path debug, so PMD
>>>> can choose to reuse them to avoid maintain their own.
>>>>
>>>> - RTE_ETHDEV_DEBUG_RX
>>>> - RTE_ETHDEV_DEBUG_TX
>>>>
>>>> All the build options are documented at programming guide
>>>> "3.1 Driver Option", so users can easily find them.
>>>>
>>>> The original undocumented RTE_LIBRTE_ETHDEV_DEBUG will alias to
>>>> both RTE_ETHDEV_DEBUG_RX and RTE_ETHDEV_DEBUG_TX for backward
>>>> compatibility.
>>>>
>>>> Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
>>>> ---
>>>>   doc/guides/nics/build_and_test.rst | 16 ++++++++++++++++
>>>>   lib/librte_ethdev/rte_ethdev.h     | 22 ++++++++++++++--------
>>>>   2 files changed, 30 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/doc/guides/nics/build_and_test.rst
>>>> b/doc/guides/nics/build_and_test.rst
>>>> index e83dd4628c..e8b29c2277 100644
>>>> --- a/doc/guides/nics/build_and_test.rst
>>>> +++ b/doc/guides/nics/build_and_test.rst
>>>> @@ -26,6 +26,22 @@ This will also build testpmd.
>>>>   Detailed instructions are available
>>>>   in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
>>>>   +The ethdev layer supports below build options for debug purpose:
>>>> +
>>>> +- ``RTE_ETHDEV_DEBUG_RX`` (default **disabled**)
>>>> +
>>>> +  Build with debug code on Rx path.
>>>> +
>>>> +- ``RTE_ETHDEV_DEBUG_TX`` (default **disabled**)
>>>> +
>>>> +  Build with debug code on Tx path.
>>>> +
>>>> +.. Note::
>>>> +
>>>> +   The ethdev library use above options to wrap debug code to trace invalid
>>>> parameters
>>>> +   on data path APIs, so performance downgrade is expected when enabling
>>>> those options.
>>>> +   Each PMD can decide to reuse them to wrap their own debug code in the
>>>> Rx/Tx path.
>>>> +
>>>
>>> Following drivers are other users of the PMD specific compile flag for the Rx/Tx
>>> datapath debug logs [1], maintainers of those PMDs cc'ed, can you please plan
>>> switching to the RTE_ETHDEV_DEBUG_RX / RTE_ETHDEV_DEBUG_TX macros?
>>>
>>> [1]:
>>> - bnx2x:  RTE_LIBRTE_BNX2X_DEBUG_RX / RTE_LIBRTE_BNX2X_DEBUG_TX
>>> - qede:   RTE_LIBRTE_QEDE_DEBUG_RX / RTE_LIBRTE_QEDE_DEBUG_TX
>>> - virtio: RTE_LIBRTE_VIRTIO_DEBUG_RX / RTE_LIBRTE_VIRTIO_DEBUG_TX
>>> - netvsc: RTE_LIBRTE_NETVSC_DEBUG_RX / RTE_LIBRTE_NETVSC_DEBUG_TX
>>> - avp:    RTE_LIBRTE_AVP_DEBUG_RX / RTE_LIBRTE_AVP_DEBUG_TX
>>> - thunderx: RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX /
>>>         RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX
>>> - vmxnet3: RTE_LIBRTE_VMXNET3_DEBUG_RX / RTE_LIBRTE_VMXNET3_DEBUG_TX
>>> - nfp:     RTE_LIBRTE_NFP_NET_DEBUG_RX / RTE_LIBRTE_NFP_NET_DEBUG_TX
>>> - liquidio: RTE_LIBRTE_LIO_DEBUG_RX / RTE_LIBRTE_LIO_DEBUG_TX
>>> - txgbe:   RTE_LIBRTE_TXGBE_DEBUG_RX / RTE_LIBRTE_TXGBE_DEBUG_TX
>>> - ena:     RTE_LIBRTE_ENA_DEBUG_RX / RTE_LIBRTE_ENA_DEBUG_TX
>>>
>>>
>> Reminder of this one.
>>
>> Can it be possible to schedule this task for v20.08?
> 
> Hi Ferruh,
> 
> we'll schedule this task for v20.08 for the ENA PMD.
> 

Oops, I mean v21.08 obviously.



More information about the dev mailing list