DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, stable@dpdk.org,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	Matan Azrad <matan@nvidia.com>,
	Shahaf Shuler <shahafs@nvidia.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>,
	Vikas Gupta <vikas.gupta@broadcom.com>,
	Jeff Guo <jia.guo@intel.com>, Haiyue Wang <haiyue.wang@intel.com>,
	Akhil Goyal <akhil.goyal@nxp.com>,
	Sachin Saxena <sachin.saxena@nxp.com>,
	Adam Dybkowski <adamx.dybkowski@intel.com>,
	Jerin Jacob <jerinj@marvell.com>
Subject: [dpdk-dev] [PATCH v3 2/3] drivers: fix log level after loading
Date: Tue,  6 Apr 2021 15:22:03 +0200	[thread overview]
Message-ID: <20210406132204.1818522-3-thomas@monjalon.net> (raw)
In-Reply-To: <20210406132204.1818522-1-thomas@monjalon.net>

When compiled as a shared object, and loaded at runtime as a plugin,
the drivers should get the log level set earlier at EAL init
by the user through --log-level option.

The function for applying the log level setting is
rte_log_register_type_and_pick_level().
It is called by most drivers via RTE_LOG_REGISTER().

The drivers common/mlx5, bcmfs and e1000 were missing,
so the user-specified log level was not applied when
those drivers were loaded as plugins.
The macro RTE_LOG_REGISTER() is used for those drivers.

The unnecessary protection for double registration
is removed from e1000.

Fixes: 9c99878aa1b1 ("log: introduce logtype register macro")
Fixes: c8e79da7c676 ("crypto/bcmfs: introduce BCMFS driver")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/common/mlx5/mlx5_common.c |  9 +-----
 drivers/crypto/bcmfs/bcmfs_logs.c | 17 ++---------
 drivers/net/e1000/e1000_logs.c    | 49 ++++---------------------------
 drivers/net/e1000/em_ethdev.c     |  6 ----
 drivers/net/e1000/igb_ethdev.c    |  6 ----
 5 files changed, 8 insertions(+), 79 deletions(-)

diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c
index c26a2cfa30..f92f05bda5 100644
--- a/drivers/common/mlx5/mlx5_common.c
+++ b/drivers/common/mlx5/mlx5_common.c
@@ -14,8 +14,6 @@
 #include "mlx5_common_utils.h"
 #include "mlx5_common_pci.h"
 
-int mlx5_common_logtype;
-
 uint8_t haswell_broadwell_cpu;
 
 /* In case this is an x86_64 intel processor to check if
@@ -41,12 +39,7 @@ static inline void mlx5_cpu_id(unsigned int level,
 }
 #endif
 
-RTE_INIT_PRIO(mlx5_log_init, LOG)
-{
-	mlx5_common_logtype = rte_log_register("pmd.common.mlx5");
-	if (mlx5_common_logtype >= 0)
-		rte_log_set_level(mlx5_common_logtype, RTE_LOG_NOTICE);
-}
+RTE_LOG_REGISTER(mlx5_common_logtype, pmd.common.mlx5, NOTICE)
 
 static bool mlx5_common_initialized;
 
diff --git a/drivers/crypto/bcmfs/bcmfs_logs.c b/drivers/crypto/bcmfs/bcmfs_logs.c
index 86f4ff3b53..701da9ecf3 100644
--- a/drivers/crypto/bcmfs/bcmfs_logs.c
+++ b/drivers/crypto/bcmfs/bcmfs_logs.c
@@ -8,9 +8,6 @@
 
 #include "bcmfs_logs.h"
 
-int bcmfs_conf_logtype;
-int bcmfs_dp_logtype;
-
 int
 bcmfs_hexdump_log(uint32_t level, uint32_t logtype, const char *title,
 		const void *buf, unsigned int len)
@@ -24,15 +21,5 @@ bcmfs_hexdump_log(uint32_t level, uint32_t logtype, const char *title,
 	return 0;
 }
 
-RTE_INIT(bcmfs_device_init_log)
-{
-	/* Configuration and general logs */
-	bcmfs_conf_logtype = rte_log_register("pmd.bcmfs_config");
-	if (bcmfs_conf_logtype >= 0)
-		rte_log_set_level(bcmfs_conf_logtype, RTE_LOG_NOTICE);
-
-	/* data-path logs */
-	bcmfs_dp_logtype = rte_log_register("pmd.bcmfs_fp");
-	if (bcmfs_dp_logtype >= 0)
-		rte_log_set_level(bcmfs_dp_logtype, RTE_LOG_NOTICE);
-}
+RTE_LOG_REGISTER(bcmfs_conf_logtype, pmd.bcmfs_config, NOTICE)
+RTE_LOG_REGISTER(bcmfs_dp_logtype, pmd.bcmfs_fp, NOTICE)
diff --git a/drivers/net/e1000/e1000_logs.c b/drivers/net/e1000/e1000_logs.c
index 231f5c03ef..d9b8a4672f 100644
--- a/drivers/net/e1000/e1000_logs.c
+++ b/drivers/net/e1000/e1000_logs.c
@@ -4,53 +4,14 @@
 
 #include "e1000_logs.h"
 
-/* declared as extern in e1000_logs.h */
-int e1000_logtype_init;
-int e1000_logtype_driver;
-
+RTE_LOG_REGISTER(e1000_logtype_init, pmd.net.e1000.init, NOTICE)
+RTE_LOG_REGISTER(e1000_logtype_driver, pmd.net.e1000.driver, NOTICE)
 #ifdef RTE_LIBRTE_E1000_DEBUG_RX
-int e1000_logtype_rx;
+RTE_LOG_REGISTER(e1000_logtype_rx, pmd.net.e1000.rx, DEBUG)
 #endif
 #ifdef RTE_LIBRTE_E1000_DEBUG_TX
-int e1000_logtype_tx;
+RTE_LOG_REGISTER(e1000_logtype_tx, pmd.net.e1000.tx, DEBUG)
 #endif
 #ifdef RTE_LIBRTE_E1000_DEBUG_TX_FREE
-int e1000_logtype_tx_free;
+RTE_LOG_REGISTER(e1000_logtype_tx_free, pmd.net.e1000.tx_free, DEBUG)
 #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)
-		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_DEBUG);
-#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_DEBUG);
-#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_DEBUG);
-#endif
-
-	e1000_log_initialized = 1;
-}
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 3c6f643c19..3e7ccdbf09 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -1850,9 +1850,3 @@ eth_em_set_mc_addr_list(struct rte_eth_dev *dev,
 RTE_PMD_REGISTER_PCI(net_e1000_em, rte_em_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_e1000_em, pci_id_em_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_e1000_em, "* igb_uio | uio_pci_generic | vfio-pci");
-
-/* see e1000_logs.c */
-RTE_INIT(igb_init_log)
-{
-	e1000_igb_init_log();
-}
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 17ee6e91a0..a1a72339ba 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -5421,9 +5421,3 @@ RTE_PMD_REGISTER_KMOD_DEP(net_e1000_igb, "* igb_uio | uio_pci_generic | vfio-pci
 RTE_PMD_REGISTER_PCI(net_e1000_igb_vf, rte_igbvf_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_e1000_igb_vf, pci_id_igbvf_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_e1000_igb_vf, "* igb_uio | vfio-pci");
-
-/* see e1000_logs.c */
-RTE_INIT(e1000_init_log)
-{
-	e1000_igb_init_log();
-}
-- 
2.31.1


  parent reply	other threads:[~2021-04-06 13:22 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-10 14:01 [dpdk-dev] [PATCH 0/3] cleanup drivers log registration Thomas Monjalon
2021-03-10 14:01 ` [dpdk-dev] [PATCH 1/3] log: choose EAL log type on registration failure Thomas Monjalon
2021-03-23 18:22   ` David Marchand
2021-03-23 18:43     ` Thomas Monjalon
2021-03-10 14:01 ` [dpdk-dev] [PATCH 2/3] drivers: fix log level after loading Thomas Monjalon
2021-03-23 18:25   ` [dpdk-dev] [dpdk-stable] " David Marchand
2021-03-23 18:50   ` [dpdk-dev] " Ajit Khaparde
2021-03-10 14:01 ` [dpdk-dev] [PATCH 3/3] drivers: align log names Thomas Monjalon
2021-03-10 14:36   ` Bruce Richardson
2021-03-11  2:54   ` Xu, Rosen
2021-03-11  3:02   ` Wang, Xiao W
2021-03-12  7:39   ` Hemant Agrawal
2021-03-19 16:29   ` David Marchand
2021-03-19 17:14     ` Thomas Monjalon
2021-03-19 20:38       ` David Marchand
2021-03-19 16:53   ` Ajit Khaparde
2021-03-22 10:33   ` David Marchand
2021-04-05  9:52     ` Thomas Monjalon
2021-04-05 10:02 ` [dpdk-dev] [PATCH v2 0/3] " Thomas Monjalon
2021-04-05 10:02   ` [dpdk-dev] [PATCH v2 1/3] log: choose EAL log type on registration failure Thomas Monjalon
2021-04-06  9:17     ` David Marchand
2021-04-06  9:49       ` Thomas Monjalon
2021-04-05 10:03   ` [dpdk-dev] [PATCH v2 2/3] drivers: fix log level after loading Thomas Monjalon
2021-04-05 10:03   ` [dpdk-dev] [PATCH v2 3/3] drivers: align log names Thomas Monjalon
2021-04-06  1:19     ` Wang, Xiao W
2021-04-06  5:27     ` Xu, Rosen
2021-04-06  9:31       ` Thomas Monjalon
2021-04-06  9:48         ` Xu, Rosen
2021-04-07  0:49           ` Wang, Xiao W
2021-04-06  6:02     ` Min Hu (Connor)
2021-04-05 10:05   ` [dpdk-dev] [PATCH v2 0/3] " Thomas Monjalon
2021-04-06 13:22 ` [dpdk-dev] [PATCH v3 0/3] cleanup drivers log registration Thomas Monjalon
2021-04-06 13:22   ` [dpdk-dev] [PATCH v3 1/3] log: choose EAL log type on registration failure Thomas Monjalon
2021-04-07  8:17     ` Andrew Rybchenko
2021-04-06 13:22   ` Thomas Monjalon [this message]
2021-04-06 13:22   ` [dpdk-dev] [PATCH v3 3/3] drivers: align log names Thomas Monjalon
2021-04-08 16:43   ` [dpdk-dev] [PATCH v3 0/3] cleanup drivers log registration David Marchand

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=20210406132204.1818522-3-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=adamx.dybkowski@intel.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=akhil.goyal@nxp.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=haiyue.wang@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jia.guo@intel.com \
    --cc=matan@nvidia.com \
    --cc=raveendra.padasalagi@broadcom.com \
    --cc=sachin.saxena@nxp.com \
    --cc=shahafs@nvidia.com \
    --cc=stable@dpdk.org \
    --cc=viacheslavo@nvidia.com \
    --cc=vikas.gupta@broadcom.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).