[dpdk-dev] [PATCH v6 1/8] ether: refine debug build option
Ferruh Yigit
ferruh.yigit at intel.com
Wed May 5 13:45:19 CEST 2021
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?
More information about the dev
mailing list