[dpdk-dev] [PATCH] net/mlx4: use dynamic log type

Stephen Hemminger stephen at networkplumber.org
Tue May 21 23:27:12 CEST 2019


This driver should use dynamic log level not RTE_LOGTYPE_PMD.
Other drivers were converted back in 18.02.

This is really a bug, all other drivers use dynamic log levels
by now.

Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>
---
 drivers/net/mlx4/mlx4.c       | 8 ++++++++
 drivers/net/mlx4/mlx4_utils.h | 6 ++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index fe559c040706..e532dc53738f 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -60,6 +60,9 @@ static rte_spinlock_t mlx4_shared_data_lock = RTE_SPINLOCK_INITIALIZER;
 /* Process local data for secondary processes. */
 static struct mlx4_local_data mlx4_local_data;
 
+/** Driver-specific log messages type. */
+int mlx4_logtype;
+
 /** Configuration structure for device arguments. */
 struct mlx4_conf {
 	struct {
@@ -1272,6 +1275,11 @@ mlx4_glue_init(void)
  */
 RTE_INIT(rte_mlx4_pmd_init)
 {
+	/* Initialize driver log type. */
+	mlx4_logtype = rte_log_register("pmd.net.mlx4");
+	if (mlx4_logtype >= 0)
+		rte_log_set_level(mlx4_logtype, RTE_LOG_NOTICE);
+
 	/*
 	 * MLX4_DEVICE_FATAL_CLEANUP tells ibv_destroy functions we
 	 * want to get success errno value in case of calling them
diff --git a/drivers/net/mlx4/mlx4_utils.h b/drivers/net/mlx4/mlx4_utils.h
index 86abb3b7e376..9d3d2a4e32a1 100644
--- a/drivers/net/mlx4/mlx4_utils.h
+++ b/drivers/net/mlx4/mlx4_utils.h
@@ -15,6 +15,8 @@
 
 #include "mlx4.h"
 
+extern int mlx4_logtype;
+
 #ifndef NDEBUG
 
 /*
@@ -35,7 +37,7 @@ pmd_drv_log_basename(const char *s)
 }
 
 #define PMD_DRV_LOG(level, ...) \
-	RTE_LOG(level, PMD, \
+	RTE_LOG(level, mlx4_logtype, \
 		RTE_FMT("%s:%u: %s(): " RTE_FMT_HEAD(__VA_ARGS__,) "\n", \
 			pmd_drv_log_basename(__FILE__), \
 			__LINE__, \
@@ -52,7 +54,7 @@ pmd_drv_log_basename(const char *s)
  */
 
 #define PMD_DRV_LOG(level, ...) \
-	RTE_LOG(level, PMD, \
+	RTE_LOG(level, mlx4_logtype, \
 		RTE_FMT(MLX4_DRIVER_NAME ": " \
 			RTE_FMT_HEAD(__VA_ARGS__,) "\n", \
 		RTE_FMT_TAIL(__VA_ARGS__,)))
-- 
2.20.1



More information about the dev mailing list