diff mbox series

[2/3] drivers: fix log level after loading

Message ID 20210310140107.2730088-3-thomas@monjalon.net (mailing list archive)
State Superseded, archived
Delegated to: David Marchand
Headers show
Series cleanup drivers log registration | expand

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Thomas Monjalon March 10, 2021, 2:01 p.m. UTC
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(-)

Comments

David Marchand March 23, 2021, 6:25 p.m. UTC | #1
On Wed, Mar 10, 2021 at 3:01 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 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>
Ajit Khaparde March 23, 2021, 6:50 p.m. UTC | #2
On Wed, Mar 10, 2021 at 6:01 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 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 ++---------
For bcmfs,
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

>  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
>
diff mbox series

Patch

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();
-}