[dpdk-dev] [PATCH v2 11/12] net/qede: implement dynamic logging

Ferruh Yigit ferruh.yigit at intel.com
Tue Jan 9 13:10:56 CET 2018


From: Stephen Hemminger <stephen at networkplumber.org>

This driver is mostly like others with slightly different logging
macros. The semantics were retained, with some minor reformatting.

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 config/common_base             |  2 --
 drivers/net/qede/qede_ethdev.c | 15 ++++++++++++
 drivers/net/qede/qede_logs.h   | 53 +++++++++++++++++++-----------------------
 3 files changed, 39 insertions(+), 31 deletions(-)

diff --git a/config/common_base b/config/common_base
index 5e7b9be0f..2eee92a01 100644
--- a/config/common_base
+++ b/config/common_base
@@ -397,9 +397,7 @@ CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
 # QLogic 10G/25G/40G/50G/100G PMD
 #
 CONFIG_RTE_LIBRTE_QEDE_PMD=y
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_INIT=n
 CONFIG_RTE_LIBRTE_QEDE_DEBUG_INFO=n
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_DRIVER=n
 CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n
 CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n
 CONFIG_RTE_LIBRTE_QEDE_VF_TX_SWITCH=y
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 68e99c594..071c44110 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -11,6 +11,9 @@
 #include <rte_version.h>
 
 /* Globals */
+int qede_logtype_init;
+int qede_logtype_driver;
+
 static const struct qed_eth_ops *qed_ops;
 static int64_t timer_period = 1;
 
@@ -3125,3 +3128,15 @@ RTE_PMD_REGISTER_KMOD_DEP(net_qede, "* igb_uio | uio_pci_generic | vfio-pci");
 RTE_PMD_REGISTER_PCI(net_qede_vf, rte_qedevf_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_qede_vf, pci_id_qedevf_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_qede_vf, "* igb_uio | vfio-pci");
+
+RTE_INIT(qede_init_log);
+static void
+qede_init_log(void)
+{
+	qede_logtype_init = rte_log_register("pmd.qede.init");
+	if (qede_logtype_init >= 0)
+		rte_log_set_level(qede_logtype_init, RTE_LOG_NOTICE);
+	qede_logtype_driver = rte_log_register("pmd.qede.driver");
+	if (qede_logtype_driver >= 0)
+		rte_log_set_level(qede_logtype_driver, RTE_LOG_NOTICE);
+}
diff --git a/drivers/net/qede/qede_logs.h b/drivers/net/qede/qede_logs.h
index 15821151c..b7ecf1c27 100644
--- a/drivers/net/qede/qede_logs.h
+++ b/drivers/net/qede/qede_logs.h
@@ -9,23 +9,25 @@
 #ifndef _QEDE_LOGS_H_
 #define _QEDE_LOGS_H_
 
-#define DP_ERR(p_dev, fmt, ...) \
-	rte_log(RTE_LOG_ERR, RTE_LOGTYPE_PMD, \
-		"[%s:%d(%s)]" fmt, \
-		  __func__, __LINE__, \
-		(p_dev)->name ? (p_dev)->name : "", \
+extern int qede_logtype_driver;
+
+#define DP_ERR(p_dev, fmt, ...)				\
+	rte_log(RTE_LOG_ERR, qede_logtype_driver,	\
+		"[%s:%d(%s)]" fmt,			\
+		__func__, __LINE__,			\
+		(p_dev)->name ? (p_dev)->name : "",	\
 		##__VA_ARGS__)
 
 #define DP_NOTICE(p_dev, is_assert, fmt, ...) \
 do { \
 	if (is_assert) \
-		rte_log(RTE_LOG_ERR, RTE_LOGTYPE_PMD,\
+		rte_log(RTE_LOG_ERR, qede_logtype_driver,\
 			"[QEDE PMD: (%s)]%s:" fmt, \
 			(p_dev)->name ? (p_dev)->name : "", \
 			 __func__, \
 			##__VA_ARGS__); \
 	else \
-		rte_log(RTE_LOG_NOTICE, RTE_LOGTYPE_PMD,\
+		rte_log(RTE_LOG_NOTICE, qede_logtype_driver,\
 			"[QEDE PMD: (%s)]%s:" fmt, \
 			(p_dev)->name ? (p_dev)->name : "", \
 			 __func__, \
@@ -34,7 +36,7 @@ do { \
 
 #ifdef RTE_LIBRTE_QEDE_DEBUG_INFO
 #define DP_INFO(p_dev, fmt, ...) \
-	rte_log(RTE_LOG_INFO, RTE_LOGTYPE_PMD, \
+	rte_log(RTE_LOG_INFO, qede_logtype_driver, \
 		"[%s:%d(%s)]" fmt, \
 		__func__, __LINE__, \
 		(p_dev)->name ? (p_dev)->name : "", \
@@ -43,30 +45,23 @@ do { \
 #define DP_INFO(p_dev, fmt, ...) do { } while (0)
 #endif
 
-#ifdef RTE_LIBRTE_QEDE_DEBUG_DRIVER
-#define DP_VERBOSE(p_dev, module, fmt, ...) \
-do { \
-	if ((p_dev)->dp_module & module) \
-		rte_log(RTE_LOG_DEBUG, RTE_LOGTYPE_PMD, \
-			"[%s:%d(%s)]" fmt, \
-		      __func__, __LINE__, \
-		      (p_dev)->name ? (p_dev)->name : "", \
-		      ##__VA_ARGS__); \
-} while (0)
-#else
-#define DP_VERBOSE(p_dev, fmt, ...) do { } while (0)
-#endif
+#define DP_VERBOSE(p_dev, module, fmt, ...)				\
+	do {								\
+		if ((p_dev)->dp_module & module)			\
+			rte_log(RTE_LOG_DEBUG, qede_logtype_driver,	\
+				"[%s:%d(%s)]" fmt,			\
+				__func__, __LINE__,			\
+				(p_dev)->name ? (p_dev)->name : "",	\
+				##__VA_ARGS__);				\
+	} while (0)
 
-#define PMD_INIT_LOG(level, edev, fmt, args...)	\
-	rte_log(RTE_LOG_ ## level, RTE_LOGTYPE_PMD, \
-		"[qede_pmd: %s] %s() " fmt "\n", \
-	(edev)->name, __func__, ##args)
+extern int qede_logtype_init;
+#define PMD_INIT_LOG(level, edev, fmt, args...)		\
+	rte_log(RTE_LOG_ ## level, qede_logtype_init,	\
+		"[qede_pmd: %s] %s() " fmt "\n",	\
+		(edev)->name, __func__, ##args)
 
-#ifdef RTE_LIBRTE_QEDE_DEBUG_INIT
 #define PMD_INIT_FUNC_TRACE(edev) PMD_INIT_LOG(DEBUG, edev, " >>")
-#else
-#define PMD_INIT_FUNC_TRACE(edev) do { } while (0)
-#endif
 
 #ifdef RTE_LIBRTE_QEDE_DEBUG_TX
 #define PMD_TX_LOG(level, q, fmt, args...) \
-- 
2.14.3



More information about the dev mailing list