From: Stephen Hemminger Date: Tue, 19 Dec 2017 06:38:35 +0000 (-0800) Subject: net/virtio: implement dynamic logging X-Git-Tag: spdx-start~502 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=0062818856c3f25859e74154a15d27bee33ed15b;p=dpdk.git net/virtio: implement dynamic logging Signed-off-by: Stephen Hemminger Tested-by: Maxime Coquelin Reviewed-by: Maxime Coquelin --- diff --git a/config/common_base b/config/common_base index 34f629adf0..884d8695b8 100644 --- a/config/common_base +++ b/config/common_base @@ -360,10 +360,8 @@ CONFIG_RTE_LIBRTE_DPAA2_DEBUG_TX_FREE=n # Compile burst-oriented VIRTIO PMD driver # CONFIG_RTE_LIBRTE_VIRTIO_PMD=y -CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT=n CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=n CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=n -CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DRIVER=n CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=n # diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index b1e4cc152f..ee0cb3dd29 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -77,6 +77,9 @@ static int virtio_dev_queue_stats_mapping_set( uint8_t stat_idx, uint8_t is_rx); +int virtio_logtype_init; +int virtio_logtype_driver; + /* * The set of PCI devices this driver supports */ @@ -2043,3 +2046,15 @@ __rte_unused uint8_t is_rx) RTE_PMD_EXPORT_NAME(net_virtio, __COUNTER__); RTE_PMD_REGISTER_PCI_TABLE(net_virtio, pci_id_virtio_map); RTE_PMD_REGISTER_KMOD_DEP(net_virtio, "* igb_uio | uio_pci_generic | vfio-pci"); + +RTE_INIT(virtio_init_log); +static void +virtio_init_log(void) +{ + virtio_logtype_init = rte_log_register("pmd.virtio.init"); + if (virtio_logtype_init >= 0) + rte_log_set_level(virtio_logtype_init, RTE_LOG_NOTICE); + virtio_logtype_driver = rte_log_register("pmd.virtio.driver"); + if (virtio_logtype_driver >= 0) + rte_log_set_level(virtio_logtype_driver, RTE_LOG_NOTICE); +} diff --git a/drivers/net/virtio/virtio_logs.h b/drivers/net/virtio/virtio_logs.h index b52de73c9e..9b1b1defc5 100644 --- a/drivers/net/virtio/virtio_logs.h +++ b/drivers/net/virtio/virtio_logs.h @@ -7,14 +7,12 @@ #include -#ifdef RTE_LIBRTE_VIRTIO_DEBUG_INIT +extern int virtio_logtype_init; #define PMD_INIT_LOG(level, fmt, args...) \ - RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args) + rte_log(RTE_LOG_ ## level, virtio_logtype_init, \ + "%s(): " fmt "\n", __func__, ##args) + #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>") -#else -#define PMD_INIT_LOG(level, fmt, args...) do { } while(0) -#define PMD_INIT_FUNC_TRACE() do { } while(0) -#endif #ifdef RTE_LIBRTE_VIRTIO_DEBUG_RX #define PMD_RX_LOG(level, fmt, args...) \ @@ -30,12 +28,9 @@ #define PMD_TX_LOG(level, fmt, args...) do { } while(0) #endif - -#ifdef RTE_LIBRTE_VIRTIO_DEBUG_DRIVER +extern int virtio_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, virtio_logtype_driver, \ + "%s(): " fmt "\n", __func__, ## args) #endif /* _VIRTIO_LOGS_H_ */