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
next prev 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).