On Friday, September 09/27/19, 2019 at 20:07:20 +0530, Ferruh Yigit wrote:
> On 9/6/2019 10:52 PM, Rahul Lakkireddy wrote:
> > Remove compile time flags and use dynamic logging for debug prints.
> >
> > Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
> > ---
> > config/common_base | 5 ---
> > doc/guides/nics/cxgbe.rst | 20 -----------
> > drivers/net/cxgbe/cxgbe_compat.h | 58 +++++++++++---------------------
> > drivers/net/cxgbe/cxgbe_ethdev.c | 16 +++++++++
> > 4 files changed, 35 insertions(+), 64 deletions(-)
> >
> > diff --git a/config/common_base b/config/common_base
> > index 8ef75c203..43964de6d 100644
> > --- a/config/common_base
> > +++ b/config/common_base
> > @@ -217,11 +217,6 @@ CONFIG_RTE_LIBRTE_BNXT_PMD=y
> > # Compile burst-oriented Chelsio Terminator (CXGBE) PMD
> > #
> > CONFIG_RTE_LIBRTE_CXGBE_PMD=y
> > -CONFIG_RTE_LIBRTE_CXGBE_DEBUG=n
>
> +1, thanks.
>
> > -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG=n
> > -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX=n
>
> Are above two used on datapath?
>
MBOX is only used in control path. But, REG is used in both control
and datapath.
> > -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX=n
> > -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX=n
>
> Are you sure about these?
> If these logs are enabled in datapath, switching to the dynamic log will add
> additional checks for logging, most probably per packet.
(Sigh)... You're correct! I was too excited about the nifty dynamic
log feature and somehow missed the above obvious point... :(
On second thought, the REG, TX, and RX prints are rarely enabled and
hence I'm going to remove them completely. OTOH, MBOX helped in
debugging several control path issues in the past, so it will be kept
as dynamic log.
Will send v2.
Thanks,
Rahul
@@ -217,11 +217,6 @@ CONFIG_RTE_LIBRTE_BNXT_PMD=y
# Compile burst-oriented Chelsio Terminator (CXGBE) PMD
#
CONFIG_RTE_LIBRTE_CXGBE_PMD=y
-CONFIG_RTE_LIBRTE_CXGBE_DEBUG=n
-CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG=n
-CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX=n
-CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX=n
CONFIG_RTE_LIBRTE_CXGBE_TPUT=y
# NXP DPAA Bus
@@ -104,26 +104,6 @@ enabling debugging options may affect system performance.
This controls compilation of both CXGBE and CXGBEVF PMD.
-- ``CONFIG_RTE_LIBRTE_CXGBE_DEBUG`` (default **n**)
-
- Toggle display of generic debugging messages.
-
-- ``CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG`` (default **n**)
-
- Toggle display of registers related run-time check messages.
-
-- ``CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX`` (default **n**)
-
- Toggle display of firmware mailbox related run-time check messages.
-
-- ``CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX`` (default **n**)
-
- Toggle display of transmission data path run-time check messages.
-
-- ``CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX`` (default **n**)
-
- Toggle display of receiving data path run-time check messages.
-
- ``CONFIG_RTE_LIBRTE_CXGBE_TPUT`` (default **y**)
Toggle behavior to prefer Throughput or Latency.
@@ -21,55 +21,35 @@
#include <rte_net.h>
extern int cxgbe_logtype;
+extern int cxgbe_reg_logtype;
+extern int cxgbe_mbox_logtype;
+extern int cxgbe_tx_logtype;
+extern int cxgbe_rx_logtype;
-#define dev_printf(level, fmt, ...) \
- rte_log(RTE_LOG_ ## level, cxgbe_logtype, \
+#define dev_printf(level, logtype, fmt, ...) \
+ rte_log(RTE_LOG_ ## level, logtype, \
"rte_cxgbe_pmd: " fmt, ##__VA_ARGS__)
-#define dev_err(x, fmt, ...) dev_printf(ERR, fmt, ##__VA_ARGS__)
-#define dev_info(x, fmt, ...) dev_printf(INFO, fmt, ##__VA_ARGS__)
-#define dev_warn(x, fmt, ...) dev_printf(WARNING, fmt, ##__VA_ARGS__)
+#define dev_err(x, fmt, ...) \
+ dev_printf(ERR, cxgbe_logtype, fmt, ##__VA_ARGS__)
+#define dev_info(x, fmt, ...) \
+ dev_printf(INFO, cxgbe_logtype, fmt, ##__VA_ARGS__)
+#define dev_warn(x, fmt, ...) \
+ dev_printf(WARNING, cxgbe_logtype, fmt, ##__VA_ARGS__)
+#define dev_debug(x, fmt, ...) \
+ dev_printf(DEBUG, cxgbe_logtype, fmt, ##__VA_ARGS__)
-#ifdef RTE_LIBRTE_CXGBE_DEBUG
-#define dev_debug(x, fmt, ...) dev_printf(INFO, fmt, ##__VA_ARGS__)
-#else
-#define dev_debug(x, fmt, ...) do { } while (0)
-#endif
-
-#ifdef RTE_LIBRTE_CXGBE_DEBUG_REG
#define CXGBE_DEBUG_REG(x, fmt, ...) \
- dev_printf(INFO, "REG:" fmt, ##__VA_ARGS__)
-#else
-#define CXGBE_DEBUG_REG(x, fmt, ...) do { } while (0)
-#endif
-
-#ifdef RTE_LIBRTE_CXGBE_DEBUG_MBOX
+ dev_printf(DEBUG, cxgbe_reg_logtype, "REG:" fmt, ##__VA_ARGS__)
#define CXGBE_DEBUG_MBOX(x, fmt, ...) \
- dev_printf(INFO, "MBOX:" fmt, ##__VA_ARGS__)
-#else
-#define CXGBE_DEBUG_MBOX(x, fmt, ...) do { } while (0)
-#endif
-
-#ifdef RTE_LIBRTE_CXGBE_DEBUG_TX
+ dev_printf(DEBUG, cxgbe_mbox_logtype, "MBOX:" fmt, ##__VA_ARGS__)
#define CXGBE_DEBUG_TX(x, fmt, ...) \
- dev_printf(INFO, "TX:" fmt, ##__VA_ARGS__)
-#else
-#define CXGBE_DEBUG_TX(x, fmt, ...) do { } while (0)
-#endif
-
-#ifdef RTE_LIBRTE_CXGBE_DEBUG_RX
+ dev_printf(DEBUG, cxgbe_tx_logtype, "TX:" fmt, ##__VA_ARGS__)
#define CXGBE_DEBUG_RX(x, fmt, ...) \
- dev_printf(INFO, "RX:" fmt, ##__VA_ARGS__)
-#else
-#define CXGBE_DEBUG_RX(x, fmt, ...) do { } while (0)
-#endif
+ dev_printf(DEBUG, cxgbe_rx_logtype, "RX:" fmt, ##__VA_ARGS__)
-#ifdef RTE_LIBRTE_CXGBE_DEBUG
#define CXGBE_FUNC_TRACE() \
- dev_printf(DEBUG, "CXGBE trace: %s\n", __func__)
-#else
-#define CXGBE_FUNC_TRACE() do { } while (0)
-#endif
+ dev_printf(DEBUG, cxgbe_logtype, "CXGBE trace: %s\n", __func__)
#define pr_err(fmt, ...) dev_err(0, fmt, ##__VA_ARGS__)
#define pr_warn(fmt, ...) dev_warn(0, fmt, ##__VA_ARGS__)
@@ -39,6 +39,10 @@
#include "cxgbe_flow.h"
int cxgbe_logtype;
+int cxgbe_mbox_logtype;
+int cxgbe_reg_logtype;
+int cxgbe_tx_logtype;
+int cxgbe_rx_logtype;
/*
* Macros needed to support the PCI Device ID Table ...
@@ -1240,4 +1244,16 @@ RTE_INIT(cxgbe_init_log)
cxgbe_logtype = rte_log_register("pmd.net.cxgbe");
if (cxgbe_logtype >= 0)
rte_log_set_level(cxgbe_logtype, RTE_LOG_NOTICE);
+ cxgbe_reg_logtype = rte_log_register("pmd.net.cxgbe.reg");
+ if (cxgbe_reg_logtype >= 0)
+ rte_log_set_level(cxgbe_reg_logtype, RTE_LOG_NOTICE);
+ cxgbe_mbox_logtype = rte_log_register("pmd.net.cxgbe.mbox");
+ if (cxgbe_mbox_logtype >= 0)
+ rte_log_set_level(cxgbe_mbox_logtype, RTE_LOG_NOTICE);
+ cxgbe_tx_logtype = rte_log_register("pmd.net.cxgbe.tx");
+ if (cxgbe_tx_logtype >= 0)
+ rte_log_set_level(cxgbe_tx_logtype, RTE_LOG_NOTICE);
+ cxgbe_rx_logtype = rte_log_register("pmd.net.cxgbe.rx");
+ if (cxgbe_rx_logtype >= 0)
+ rte_log_set_level(cxgbe_rx_logtype, RTE_LOG_NOTICE);
}