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

Ferruh Yigit ferruh.yigit at intel.com
Thu Apr 1 16:30:52 CEST 2021


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




More information about the dev mailing list