[dpdk-dev] [PATCH 11/11] lio: implement dynamic logging

Stephen Hemminger stephen at networkplumber.org
Tue Dec 19 07:38:40 CET 2017


This driver mostly uses the common pattern. Convert this to the
dynamic logging.

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 config/common_base                |  2 --
 drivers/net/liquidio/lio_ethdev.c | 15 +++++++++++++++
 drivers/net/liquidio/lio_logs.h   | 20 ++++++++------------
 3 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/config/common_base b/config/common_base
index 1718f6a14449..ee716adc4e0f 100644
--- a/config/common_base
+++ b/config/common_base
@@ -312,8 +312,6 @@ CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_MBOX=n
 # Compile burst-oriented Cavium LiquidIO PMD driver
 #
 CONFIG_RTE_LIBRTE_LIO_PMD=y
-CONFIG_RTE_LIBRTE_LIO_DEBUG_DRIVER=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_INIT=n
 CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=n
 CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=n
 CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=n
diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
index 84b8a3288d12..5ad7c9902af4 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -43,6 +43,9 @@
 #include "lio_ethdev.h"
 #include "lio_rxtx.h"
 
+int lio_logtype_init;
+int lio_logtype_driver;
+
 /* Default RSS key in use */
 static uint8_t lio_rss_key[40] = {
 	0x6D, 0x5A, 0x56, 0xDA, 0x25, 0x5B, 0x0E, 0xC2,
@@ -2180,3 +2183,15 @@ static struct rte_pci_driver rte_liovf_pmd = {
 RTE_PMD_REGISTER_PCI(net_liovf, rte_liovf_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_liovf, pci_id_liovf_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_liovf, "* igb_uio | vfio-pci");
+
+RTE_INIT(lio_init_log);
+static void
+lio_init_log(void)
+{
+	lio_logtype_init = rte_log_register("pmd.lio.init");
+	if (lio_logtype_init >= 0)
+		rte_log_set_level(lio_logtype_init, RTE_LOG_NOTICE);
+	lio_logtype_driver = rte_log_register("pmd.lio.driver");
+	if (lio_logtype_driver >= 0)
+		rte_log_set_level(lio_logtype_driver, RTE_LOG_NOTICE);
+}
diff --git a/drivers/net/liquidio/lio_logs.h b/drivers/net/liquidio/lio_logs.h
index a4c9ca4db291..c6f9bd15bd79 100644
--- a/drivers/net/liquidio/lio_logs.h
+++ b/drivers/net/liquidio/lio_logs.h
@@ -34,8 +34,10 @@
 #ifndef _LIO_LOGS_H_
 #define _LIO_LOGS_H_
 
-#define lio_dev_printf(lio_dev, level, fmt, args...)			\
-	RTE_LOG(level, PMD, "%s" fmt, (lio_dev)->dev_string, ##args)
+extern int lio_logtype_driver;
+#define lio_dev_printf(lio_dev, level, fmt, args...)		\
+	rte_log(RTE_LOG_ ## level, lio_logtype_driver,		\
+		"%s" fmt, (lio_dev)->dev_string, ##args)
 
 #define lio_dev_info(lio_dev, fmt, args...)				\
 	lio_dev_printf(lio_dev, INFO, "INFO: " fmt, ##args)
@@ -43,22 +45,16 @@
 #define lio_dev_err(lio_dev, fmt, args...)				\
 	lio_dev_printf(lio_dev, ERR, "ERROR: %s() " fmt, __func__, ##args)
 
-#define PMD_INIT_LOG(level, fmt, args...) RTE_LOG(level, PMD, fmt, ## args)
+extern int lio_logtype_init;
+#define PMD_INIT_LOG(level, fmt, args...) \
+	rte_log(RTE_LOG_ ## level, lio_logtype_init, \
+		fmt, ## args)
 
 /* Enable these through config options */
-
-#ifdef RTE_LIBRTE_LIO_DEBUG_INIT
 #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, "%s() >>\n", __func__)
-#else /* !RTE_LIBRTE_LIO_DEBUG_INIT */
-#define PMD_INIT_FUNC_TRACE() do { } while (0)
-#endif /* RTE_LIBRTE_LIO_DEBUG_INIT */
 
-#ifdef RTE_LIBRTE_LIO_DEBUG_DRIVER
 #define lio_dev_dbg(lio_dev, fmt, args...)				\
 	lio_dev_printf(lio_dev, DEBUG, "DEBUG: %s() " fmt, __func__, ##args)
-#else /* !RTE_LIBRTE_LIO_DEBUG_DRIVER */
-#define lio_dev_dbg(lio_dev, fmt, args...) do { } while (0)
-#endif /* RTE_LIBRTE_LIO_DEBUG_DRIVER */
 
 #ifdef RTE_LIBRTE_LIO_DEBUG_RX
 #define PMD_RX_LOG(lio_dev, level, fmt, args...)			\
-- 
2.11.0



More information about the dev mailing list