[dpdk-dev] [PATCH v2 10/12] net/ena: implement dynamic logging
Ferruh Yigit
ferruh.yigit at intel.com
Tue Jan 9 13:10:55 CET 2018
From: Stephen Hemminger <stephen at networkplumber.org>
Use dynamic rather static configuration for logging.
Also include ena_assert_msg.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
config/common_base | 1 -
drivers/net/ena/ena_ethdev.c | 15 +++++++++++++++
drivers/net/ena/ena_logs.h | 14 ++++++--------
drivers/net/ena/ena_platform.h | 2 +-
4 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/config/common_base b/config/common_base
index 0cdaadea6..5e7b9be0f 100644
--- a/config/common_base
+++ b/config/common_base
@@ -169,7 +169,6 @@ CONFIG_RTE_LIBRTE_ENA_PMD=y
CONFIG_RTE_LIBRTE_ENA_DEBUG_RX=n
CONFIG_RTE_LIBRTE_ENA_DEBUG_TX=n
CONFIG_RTE_LIBRTE_ENA_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_DRIVER=n
CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=n
#
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 22db8951f..3f379a9b2 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -178,6 +178,9 @@ static const struct ena_stats ena_stats_ena_com_strings[] = {
#define ENA_TX_OFFLOAD_NOTSUP_MASK \
(PKT_TX_OFFLOAD_MASK ^ ENA_TX_OFFLOAD_MASK)
+int ena_logtype_init;
+int ena_logtype_driver;
+
static const struct rte_pci_id pci_id_ena_map[] = {
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_VF) },
{ RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_LLQ_VF) },
@@ -1814,3 +1817,15 @@ static struct rte_pci_driver rte_ena_pmd = {
RTE_PMD_REGISTER_PCI(net_ena, rte_ena_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_ena, pci_id_ena_map);
RTE_PMD_REGISTER_KMOD_DEP(net_ena, "* igb_uio | uio_pci_generic | vfio-pci");
+
+RTE_INIT(ena_init_log);
+static void
+ena_init_log(void)
+{
+ ena_logtype_init = rte_log_register("pmd.ena.init");
+ if (ena_logtype_init >= 0)
+ rte_log_set_level(ena_logtype_init, RTE_LOG_NOTICE);
+ ena_logtype_driver = rte_log_register("pmd.ena.driver");
+ if (ena_logtype_driver >= 0)
+ rte_log_set_level(ena_logtype_driver, RTE_LOG_NOTICE);
+}
diff --git a/drivers/net/ena/ena_logs.h b/drivers/net/ena/ena_logs.h
index c6c8a41bd..2c0e91b65 100644
--- a/drivers/net/ena/ena_logs.h
+++ b/drivers/net/ena/ena_logs.h
@@ -34,10 +34,10 @@
#ifndef _ENA_LOGS_H_
#define _ENA_LOGS_H_
-#define RTE_LOGTYPE_ENA RTE_LOGTYPE_USER1
-
+extern int ena_logtype_init;
#define PMD_INIT_LOG(level, fmt, args...) \
- RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
+ rte_log(RTE_LOG_ ## level, ena_logtype_init, \
+ "%s(): " fmt "\n", __func__, ## args)
#ifdef RTE_LIBRTE_ENA_DEBUG_RX
#define PMD_RX_LOG(level, fmt, args...) \
@@ -60,11 +60,9 @@
#define PMD_TX_FREE_LOG(level, fmt, args...) do { } while (0)
#endif
-#ifdef RTE_LIBRTE_ENA_DEBUG_DRIVER
+extern int ena_logtype_driver;
#define PMD_DRV_LOG(level, fmt, args...) \
- RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
-#else
-#define PMD_DRV_LOG(level, fmt, args...) do { } while (0)
-#endif
+ rte_log(RTE_LOG_ ## level, ena_logtype_driver, \
+ "%s(): " fmt "\n", __func__, ## args)
#endif /* _ENA_LOGS_H_ */
diff --git a/drivers/net/ena/ena_platform.h b/drivers/net/ena/ena_platform.h
index 0df82d6fd..a2239a92c 100644
--- a/drivers/net/ena/ena_platform.h
+++ b/drivers/net/ena/ena_platform.h
@@ -49,7 +49,7 @@
#define ena_assert_msg(cond, msg) \
do { \
if (unlikely(!(cond))) { \
- RTE_LOG(ERR, ENA, \
+ rte_log(RTE_LOG_ERR, ena_logtype_driver, \
"Assert failed on %s:%s:%d: ", \
__FILE__, __func__, __LINE__); \
rte_panic(msg); \
--
2.14.3
More information about the dev
mailing list