net/liquidio: implement dynamic logging
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 19 Dec 2017 06:38:40 +0000 (22:38 -0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 16 Jan 2018 17:47:49 +0000 (18:47 +0100)
This driver mostly uses the common pattern. Convert this to the
dynamic logging.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
config/common_base
drivers/net/liquidio/lio_ethdev.c
drivers/net/liquidio/lio_logs.h

index 2eee92a..071bd0e 100644 (file)
@@ -311,8 +311,6 @@ CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_MBOX=n
 # Compile burst-oriented Cavium LiquidIO PMD driver
 #
 CONFIG_RTE_LIBRTE_LIO_PMD=y
-CONFIG_RTE_LIBRTE_LIO_DEBUG_DRIVER=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_INIT=n
 CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=n
 CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=n
 CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=n
index 6c24962..8f6ef63 100644 (file)
@@ -14,6 +14,9 @@
 #include "lio_ethdev.h"
 #include "lio_rxtx.h"
 
+int lio_logtype_init;
+int lio_logtype_driver;
+
 /* Default RSS key in use */
 static uint8_t lio_rss_key[40] = {
        0x6D, 0x5A, 0x56, 0xDA, 0x25, 0x5B, 0x0E, 0xC2,
@@ -2181,3 +2184,15 @@ static struct rte_pci_driver rte_liovf_pmd = {
 RTE_PMD_REGISTER_PCI(net_liovf, rte_liovf_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_liovf, pci_id_liovf_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_liovf, "* igb_uio | vfio-pci");
+
+RTE_INIT(lio_init_log);
+static void
+lio_init_log(void)
+{
+       lio_logtype_init = rte_log_register("pmd.lio.init");
+       if (lio_logtype_init >= 0)
+               rte_log_set_level(lio_logtype_init, RTE_LOG_NOTICE);
+       lio_logtype_driver = rte_log_register("pmd.lio.driver");
+       if (lio_logtype_driver >= 0)
+               rte_log_set_level(lio_logtype_driver, RTE_LOG_NOTICE);
+}
index d38e2a1..f227827 100644 (file)
@@ -5,8 +5,10 @@
 #ifndef _LIO_LOGS_H_
 #define _LIO_LOGS_H_
 
-#define lio_dev_printf(lio_dev, level, fmt, args...)                   \
-       RTE_LOG(level, PMD, "%s" fmt, (lio_dev)->dev_string, ##args)
+extern int lio_logtype_driver;
+#define lio_dev_printf(lio_dev, level, fmt, args...)           \
+       rte_log(RTE_LOG_ ## level, lio_logtype_driver,          \
+               "%s" fmt, (lio_dev)->dev_string, ##args)
 
 #define lio_dev_info(lio_dev, fmt, args...)                            \
        lio_dev_printf(lio_dev, INFO, "INFO: " fmt, ##args)
 #define lio_dev_err(lio_dev, fmt, args...)                             \
        lio_dev_printf(lio_dev, ERR, "ERROR: %s() " fmt, __func__, ##args)
 
-#define PMD_INIT_LOG(level, fmt, args...) RTE_LOG(level, PMD, fmt, ## args)
+extern int lio_logtype_init;
+#define PMD_INIT_LOG(level, fmt, args...) \
+       rte_log(RTE_LOG_ ## level, lio_logtype_init, \
+               fmt, ## args)
 
 /* Enable these through config options */
-
-#ifdef RTE_LIBRTE_LIO_DEBUG_INIT
 #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, "%s() >>\n", __func__)
-#else /* !RTE_LIBRTE_LIO_DEBUG_INIT */
-#define PMD_INIT_FUNC_TRACE() do { } while (0)
-#endif /* RTE_LIBRTE_LIO_DEBUG_INIT */
 
-#ifdef RTE_LIBRTE_LIO_DEBUG_DRIVER
 #define lio_dev_dbg(lio_dev, fmt, args...)                             \
        lio_dev_printf(lio_dev, DEBUG, "DEBUG: %s() " fmt, __func__, ##args)
-#else /* !RTE_LIBRTE_LIO_DEBUG_DRIVER */
-#define lio_dev_dbg(lio_dev, fmt, args...) do { } while (0)
-#endif /* RTE_LIBRTE_LIO_DEBUG_DRIVER */
 
 #ifdef RTE_LIBRTE_LIO_DEBUG_RX
 #define PMD_RX_LOG(lio_dev, level, fmt, args...)                       \