All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: wenzhuo.lu@intel.com, konstantin.ananyev@intel.com,
	beilei.xing@intel.com, qi.z.zhang@intel.com,
	xiao.w.wang@intel.com, jingjing.wu@intel.com
Cc: dev@dpdk.org, Stephen Hemminger <stephen@networkplumber.org>
Subject: [dpdk-dev] [PATCH 1/6] net/e1000: use dynamic log type for tx/rx debug
Date: Tue, 16 Jul 2019 08:40:08 -0700	[thread overview]
Message-ID: <20190716154013.6974-2-stephen@networkplumber.org> (raw)
In-Reply-To: <20190716154013.6974-1-stephen@networkplumber.org>

The generic RTE_LOGTYPE_PMD is a historical relic and should
not be used. Every driver should register the logtypes
for itself.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/e1000/e1000_logs.c | 48 +++++++++++++++++++++++++++-------
 drivers/net/e1000/e1000_logs.h | 25 +++++++++++-------
 2 files changed, 55 insertions(+), 18 deletions(-)

diff --git a/drivers/net/e1000/e1000_logs.c b/drivers/net/e1000/e1000_logs.c
index 22173939f5e5..05f883dd201b 100644
--- a/drivers/net/e1000/e1000_logs.c
+++ b/drivers/net/e1000/e1000_logs.c
@@ -8,19 +8,49 @@
 int e1000_logtype_init;
 int e1000_logtype_driver;
 
+#ifdef RTE_LIBRTE_E1000_DEBUG_RX
+int e1000_logtype_rx;
+#endif
+#ifdef RTE_LIBRTE_E1000_DEBUG_TX
+int e1000_logtype_tx;
+#endif
+#ifdef RTE_LIBRTE_E1000_DEBUG_TX_FREE
+int e1000_logtype_tx_free;
+#endif
+
 /* avoids double registering of logs if EM and IGB drivers are in use */
 static int e1000_log_initialized;
 
 void
 e1000_igb_init_log(void)
 {
-	if (!e1000_log_initialized) {
-		e1000_logtype_init = rte_log_register("pmd.net.e1000.init");
-		if (e1000_logtype_init >= 0)
-			rte_log_set_level(e1000_logtype_init, RTE_LOG_NOTICE);
-		e1000_logtype_driver = rte_log_register("pmd.net.e1000.driver");
-		if (e1000_logtype_driver >= 0)
-			rte_log_set_level(e1000_logtype_driver, RTE_LOG_NOTICE);
-		e1000_log_initialized = 1;
-	}
+	if (e1000_log_initialized)
+		return;
+
+	e1000_logtype_init = rte_log_register("pmd.net.e1000.init");
+	if (e1000_logtype_init >= 0)
+		rte_log_set_level(e1000_logtype_init, RTE_LOG_NOTICE);
+	e1000_logtype_driver = rte_log_register("pmd.net.e1000.driver");
+	if (e1000_logtype_driver >= 0)
+		rte_log_set_level(e1000_logtype_driver, RTE_LOG_NOTICE);
+
+#ifdef RTE_LIBRTE_E1000_DEBUG_RX
+	e1000_logtype_rx = rte_log_register("pmd.net.e1000.rx");
+	if (e1000_logtype_rx >= 0)
+		rte_log_set_level(e1000_logtype_rx, RTE_LOG_NOTICE);
+#endif
+
+#ifdef RTE_LIBRTE_E1000_DEBUG_TX
+	e1000_logtype_tx = rte_log_register("pmd.net.e1000.tx");
+	if (e1000_logtype_tx >= 0)
+		rte_log_set_level(e1000_logtype_tx, RTE_LOG_NOTICE);
+#endif
+
+#ifdef RTE_LIBRTE_E1000_DEBUG_TX_FREE
+	e1000_logtype_tx_free = rte_log_register("pmd.net.e1000.tx_free");
+	if (e1000_logtype_tx_free >= 0)
+		rte_log_set_level(e1000_logtype_tx_free, RTE_LOG_NOTICE);
+#endif
+
+	e1000_log_initialized = 1;
 }
diff --git a/drivers/net/e1000/e1000_logs.h b/drivers/net/e1000/e1000_logs.h
index 69d3d31186e0..2612134f38a0 100644
--- a/drivers/net/e1000/e1000_logs.h
+++ b/drivers/net/e1000/e1000_logs.h
@@ -8,6 +8,7 @@
 #include <rte_log.h>
 
 extern int e1000_logtype_init;
+
 #define PMD_INIT_LOG(level, fmt, args...) \
 	rte_log(RTE_LOG_ ## level, e1000_logtype_init, \
 		"%s(): " fmt "\n", __func__, ##args)
@@ -15,24 +16,30 @@ extern int e1000_logtype_init;
 #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
 
 #ifdef RTE_LIBRTE_E1000_DEBUG_RX
-#define PMD_RX_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
+extern int e1000_logtype_rx;
+#define PMD_RX_LOG(level, fmt, args...)			\
+	rte_log(RTE_LOG_ ## level, e1000_logtype_rx,	\
+		"%s(): " fmt "\n", __func__, ## args)
 #else
-#define PMD_RX_LOG(level, fmt, args...) do { } while(0)
+#define PMD_RX_LOG(level, fmt, args...) do { } while (0)
 #endif
 
 #ifdef RTE_LIBRTE_E1000_DEBUG_TX
-#define PMD_TX_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
+extern int e1000_logtype_tx;
+#define PMD_TX_LOG(level, fmt, args...)			\
+	rte_log(RTE_LOG_ ## level, e1000_logtype_tx,	\
+		"%s(): " fmt "\n", __func__, ## args)
 #else
-#define PMD_TX_LOG(level, fmt, args...) do { } while(0)
+#define PMD_TX_LOG(level, fmt, args...) do { } while (0)
 #endif
 
 #ifdef RTE_LIBRTE_E1000_DEBUG_TX_FREE
-#define PMD_TX_FREE_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
+extern int e1000_logtype_tx_free;
+#define PMD_TX_FREE_LOG(level, fmt, args...)			\
+	rte_log(RTE_LOG_ ## level, e1000_logtype_tx_free,	\
+		"%s(): " fmt "\n", __func__, ## args)
 #else
-#define PMD_TX_FREE_LOG(level, fmt, args...) do { } while(0)
+#define PMD_TX_FREE_LOG(level, fmt, args...) do { } while (0)
 #endif
 
 extern int e1000_logtype_driver;
-- 
2.20.1


  reply	other threads:[~2019-07-16 15:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-16 15:40 [dpdk-dev] [PATCH 0/6] replace usage of LOGTYPE_PMD in Intel drivers Stephen Hemminger
2019-07-16 15:40 ` Stephen Hemminger [this message]
2019-08-27  8:21   ` [dpdk-dev] [PATCH 1/6] net/e1000: use dynamic log type for tx/rx debug Ferruh Yigit
2019-09-30 15:28     ` Ye Xiaolong
2019-09-30 15:50       ` Stephen Hemminger
2019-09-30 15:56         ` Ferruh Yigit
2019-09-30 16:10     ` Ferruh Yigit
2019-07-16 15:40 ` [dpdk-dev] [PATCH 2/6] net/fm10k: " Stephen Hemminger
2019-07-16 15:40 ` [dpdk-dev] [PATCH 3/6] net/ixgbe: " Stephen Hemminger
2019-08-27  8:24   ` Ferruh Yigit
2019-07-16 15:40 ` [dpdk-dev] [PATCH 4/6] net/ice: " Stephen Hemminger
2019-07-16 15:40 ` [dpdk-dev] [PATCH 5/6] net/i40e: " Stephen Hemminger
2019-07-16 15:40 ` [dpdk-dev] [PATCH 6/6] net/iavf: " Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190716154013.6974-2-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=wenzhuo.lu@intel.com \
    --cc=xiao.w.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.