From: Thomas Monjalon <thomas@monjalon.net> To: dev@dpdk.org Cc: stable@dpdk.org, Matan Azrad <matan@nvidia.com>, Shahaf Shuler <shahafs@nvidia.com>, Viacheslav Ovsiienko <viacheslavo@nvidia.com>, Ajit Khaparde <ajit.khaparde@broadcom.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>, Adam Dybkowski <adamx.dybkowski@intel.com>, Jerin Jacob <jerinj@marvell.com>, Akhil Goyal <akhil.goyal@nxp.com>, Sachin Saxena <sachin.saxena@nxp.com> Subject: [dpdk-dev] [PATCH 2/3] drivers: fix log level after loading Date: Wed, 10 Mar 2021 15:01:06 +0100 Message-ID: <20210310140107.2730088-3-thomas@monjalon.net> (raw) In-Reply-To: <20210310140107.2730088-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> --- 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 9b8c4a7de5..79a6d8f461 100644 --- a/drivers/net/e1000/em_ethdev.c +++ b/drivers/net/e1000/em_ethdev.c @@ -1846,9 +1846,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 5323504e98..395dc3f5aa 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net/e1000/igb_ethdev.c @@ -5434,9 +5434,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.30.1
next prev parent reply other threads:[~2021-03-10 14:01 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 ` Thomas Monjalon [this message] 2021-03-23 18:25 ` [dpdk-dev] [dpdk-stable] [PATCH 2/3] drivers: fix log level after loading 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 ` [dpdk-dev] [PATCH v3 2/3] drivers: fix log level after loading Thomas Monjalon 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=20210310140107.2730088-3-thomas@monjalon.net \ --to=thomas@monjalon.net \ --cc=adamx.dybkowski@intel.com \ --cc=ajit.khaparde@broadcom.com \ --cc=akhil.goyal@nxp.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
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git