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

Rasesh Mody rmody at marvell.com
Thu May 6 13:09:00 CEST 2021


> From: dev <dev-bounces at dpdk.org> On Behalf Of Ferruh Yigit
> Sent: Wednesday, May 5, 2021 8:09 PM
> 
> 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.
>

Hi Ferruh,
For bnx2x and qede PMD, we can schedule this for v21.08.
Thanks,
Rasesh



More information about the dev mailing list