From patchwork Fri Mar 17 15:51:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olivier Matz X-Patchwork-Id: 21891 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 3A1C0CFEC; Fri, 17 Mar 2017 17:12:44 +0100 (CET) Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id AF45FCF9C for ; Fri, 17 Mar 2017 16:51:44 +0100 (CET) Received: from glumotte.dev.6wind.com (unknown [10.16.0.195]) by proxy.6wind.com (Postfix) with ESMTP id 88DF225396; Fri, 17 Mar 2017 16:51:39 +0100 (CET) From: Olivier Matz To: dev@dpdk.org Cc: thomas.monjalon@6wind.com, david.marchand@6wind.com, bruce.richardson@intel.com, keith.wiles@intel.com Date: Fri, 17 Mar 2017 16:51:22 +0100 Message-Id: <1489765882-30497-9-git-send-email-olivier.matz@6wind.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1489765882-30497-1-git-send-email-olivier.matz@6wind.com> References: <1486387756-16865-1-git-send-email-olivier.matz@6wind.com> <1489765882-30497-1-git-send-email-olivier.matz@6wind.com> Subject: [dpdk-dev] [PATCH 8/8] net/i40e: use dynamic log type for control logs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This is an example of how a dynamic log type can be used in a PMD. Signed-off-by: Olivier Matz --- config/common_base | 2 -- drivers/net/i40e/i40e_ethdev.c | 18 ++++++++++++++++-- drivers/net/i40e/i40e_fdir.c | 4 ---- drivers/net/i40e/i40e_logs.h | 17 ++++++----------- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/config/common_base b/config/common_base index 37aa1e1..2cf2b9c 100644 --- a/config/common_base +++ b/config/common_base @@ -179,11 +179,9 @@ CONFIG_RTE_IXGBE_RX_OLFLAGS_ENABLE=y # Compile burst-oriented I40E PMD driver # CONFIG_RTE_LIBRTE_I40E_PMD=y -CONFIG_RTE_LIBRTE_I40E_DEBUG_INIT=n CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n -CONFIG_RTE_LIBRTE_I40E_DEBUG_DRIVER=n CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y CONFIG_RTE_LIBRTE_I40E_RX_OLFLAGS_ENABLE=y diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 303027b..1ffa6d5 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -40,6 +40,7 @@ #include #include +#include #include #include #include @@ -419,6 +420,9 @@ static void i40e_ethertype_filter_restore(struct i40e_pf *pf); static void i40e_tunnel_filter_restore(struct i40e_pf *pf); static void i40e_filter_restore(struct i40e_pf *pf); +int i40e_logtype_init; +int i40e_logtype_driver; + static const struct rte_pci_id pci_id_i40e_map[] = { { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_SFP_XL710) }, { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_QEMU) }, @@ -5788,7 +5792,6 @@ i40e_dev_interrupt_handler(struct rte_intr_handle *intr_handle, PMD_DRV_LOG(INFO, "No interrupt event"); goto done; } -#ifdef RTE_LIBRTE_I40E_DEBUG_DRIVER if (icr0 & I40E_PFINT_ICR0_ECC_ERR_MASK) PMD_DRV_LOG(ERR, "ICR0: unrecoverable ECC error"); if (icr0 & I40E_PFINT_ICR0_MAL_DETECT_MASK) @@ -5803,7 +5806,6 @@ i40e_dev_interrupt_handler(struct rte_intr_handle *intr_handle, PMD_DRV_LOG(ERR, "ICR0: HMC error"); if (icr0 & I40E_PFINT_ICR0_PE_CRITERR_MASK) PMD_DRV_LOG(ERR, "ICR0: protocol engine critical error"); -#endif /* RTE_LIBRTE_I40E_DEBUG_DRIVER */ if (icr0 & I40E_PFINT_ICR0_VFLR_MASK) { PMD_DRV_LOG(INFO, "ICR0: VF reset detected"); @@ -11212,3 +11214,15 @@ rte_pmd_i40e_reset_vf_stats(uint8_t port, return 0; } + +RTE_INIT(i40e_init_log); +static void +i40e_init_log(void) +{ + i40e_logtype_init = rte_log_register("pmd.i40e.init"); + if (i40e_logtype_init >= 0) + rte_log_set_level(i40e_logtype_init, RTE_LOG_NOTICE); + i40e_logtype_driver = rte_log_register("pmd.i40e.driver"); + if (i40e_logtype_driver >= 0) + rte_log_set_level(i40e_logtype_driver, RTE_LOG_NOTICE); +} diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index 0700253..32d3b19 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -1592,17 +1592,14 @@ i40e_fdir_filter_restore(struct i40e_pf *pf) struct rte_eth_dev *dev = I40E_VSI_TO_ETH_DEV(pf->main_vsi); struct i40e_fdir_filter_list *fdir_list = &pf->fdir.fdir_list; struct i40e_fdir_filter *f; -#ifdef RTE_LIBRTE_I40E_DEBUG_DRIVER struct i40e_hw *hw = I40E_PF_TO_HW(pf); uint32_t fdstat; uint32_t guarant_cnt; /**< Number of filters in guaranteed spaces. */ uint32_t best_cnt; /**< Number of filters in best effort spaces. */ -#endif /* RTE_LIBRTE_I40E_DEBUG_DRIVER */ TAILQ_FOREACH(f, fdir_list, rules) i40e_add_del_fdir_filter(dev, &f->fdir, TRUE); -#ifdef RTE_LIBRTE_I40E_DEBUG_DRIVER fdstat = I40E_READ_REG(hw, I40E_PFQF_FDSTAT); guarant_cnt = (uint32_t)((fdstat & I40E_PFQF_FDSTAT_GUARANT_CNT_MASK) >> @@ -1610,7 +1607,6 @@ i40e_fdir_filter_restore(struct i40e_pf *pf) best_cnt = (uint32_t)((fdstat & I40E_PFQF_FDSTAT_BEST_CNT_MASK) >> I40E_PFQF_FDSTAT_BEST_CNT_SHIFT); -#endif /* RTE_LIBRTE_I40E_DEBUG_DRIVER */ PMD_DRV_LOG(INFO, "FDIR: Guarant count: %d, Best count: %d", guarant_cnt, best_cnt); diff --git a/drivers/net/i40e/i40e_logs.h b/drivers/net/i40e/i40e_logs.h index e042e24..8e99cd5 100644 --- a/drivers/net/i40e/i40e_logs.h +++ b/drivers/net/i40e/i40e_logs.h @@ -34,14 +34,11 @@ #ifndef _I40E_LOGS_H_ #define _I40E_LOGS_H_ +extern int i40e_logtype_init; #define PMD_INIT_LOG(level, fmt, args...) \ - RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ##args) - -#ifdef RTE_LIBRTE_I40E_DEBUG_INIT + rte_log(RTE_LOG_ ## level, i40e_logtype_init, "%s(): " fmt "\n", \ + __func__, ##args) #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>") -#else -#define PMD_INIT_FUNC_TRACE() do { } while(0) -#endif #ifdef RTE_LIBRTE_I40E_DEBUG_RX #define PMD_RX_LOG(level, fmt, args...) \ @@ -64,12 +61,10 @@ #define PMD_TX_FREE_LOG(level, fmt, args...) do { } while(0) #endif -#ifdef RTE_LIBRTE_I40E_DEBUG_DRIVER +extern int i40e_logtype_driver; #define PMD_DRV_LOG_RAW(level, fmt, args...) \ - RTE_LOG(level, PMD, "%s(): " fmt, __func__, ## args) -#else -#define PMD_DRV_LOG_RAW(level, fmt, args...) do { } while (0) -#endif + rte_log(RTE_LOG_ ## level, i40e_logtype_driver, "%s(): " fmt, \ + __func__, ## args) #define PMD_DRV_LOG(level, fmt, args...) \ PMD_DRV_LOG_RAW(level, fmt "\n", ## args)