Thread (81 messages) 81 messages, 7 authors, 2021-05-06

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

From: Rasesh Mody <rmody@marvell.com>
Date: 2021-05-06 11:09:08

From: dev <redacted> On Behalf Of Ferruh Yigit
Sent: Wednesday, May 5, 2021 8:09 PM

On 5/5/2021 1:21 PM, Michał Krawczyk wrote:
quoted
śr., 5 maj 2021 o 13:45 Ferruh Yigit [off-list ref] napisał(a):
quoted
On 4/1/2021 3:30 PM, Ferruh Yigit wrote:
quoted
On 3/31/2021 10:52 AM, Qi Zhang wrote:
quoted
PMDs use RTE_LIBRTE_<PMD_NAME>_DEBUG_RX|TX as build option
to wrap
quoted
quoted
quoted
quoted
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.
quoted
quoted
quoted
quoted
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
quoted
quoted
quoted
quoted
compatibility.

Signed-off-by: Qi Zhang <redacted>
---
  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?
quoted
quoted
quoted
[1]:
- bnx2x:  RTE_LIBRTE_BNX2X_DEBUG_RX /
RTE_LIBRTE_BNX2X_DEBUG_TX
quoted
quoted
quoted
- qede:   RTE_LIBRTE_QEDE_DEBUG_RX / RTE_LIBRTE_QEDE_DEBUG_TX
- virtio: RTE_LIBRTE_VIRTIO_DEBUG_RX /
RTE_LIBRTE_VIRTIO_DEBUG_TX
quoted
quoted
quoted
- netvsc: RTE_LIBRTE_NETVSC_DEBUG_RX /
RTE_LIBRTE_NETVSC_DEBUG_TX
quoted
quoted
quoted
- 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
quoted
quoted
quoted
- nfp:     RTE_LIBRTE_NFP_NET_DEBUG_RX /
RTE_LIBRTE_NFP_NET_DEBUG_TX
quoted
quoted
quoted
- liquidio: RTE_LIBRTE_LIO_DEBUG_RX / RTE_LIBRTE_LIO_DEBUG_TX
- txgbe:   RTE_LIBRTE_TXGBE_DEBUG_RX /
RTE_LIBRTE_TXGBE_DEBUG_TX
quoted
quoted
quoted
- 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help