[dpdk-dev,07/11] nfp: implement dynamic logging

Message ID 20171219063840.18981-8-stephen@networkplumber.org (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK

Commit Message

Stephen Hemminger Dec. 19, 2017, 6:38 a.m. UTC
  Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 config/common_base             |  3 ++-
 drivers/net/nfp/nfp_net.c      | 14 ++++++++++++++
 drivers/net/nfp/nfp_net_logs.h | 22 ++++++----------------
 3 files changed, 22 insertions(+), 17 deletions(-)
  

Comments

Ferruh Yigit Dec. 20, 2017, 1:52 a.m. UTC | #1
On 12/18/2017 10:38 PM, Stephen Hemminger wrote:
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  config/common_base             |  3 ++-
>  drivers/net/nfp/nfp_net.c      | 14 ++++++++++++++
>  drivers/net/nfp/nfp_net_logs.h | 22 ++++++----------------
>  3 files changed, 22 insertions(+), 17 deletions(-)
> 
> diff --git a/config/common_base b/config/common_base
> index 3695fbe5de27..8d18b3c81db8 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -267,7 +267,8 @@ CONFIG_RTE_LIBRTE_ENIC_DEBUG_FLOW=n
>  # Compile burst-oriented Netronome NFP PMD driver
>  #
>  CONFIG_RTE_LIBRTE_NFP_PMD=n
> -CONFIG_RTE_LIBRTE_NFP_DEBUG=n
> +CONFIG_RTE_LIBRTE_NFP_DEBUG_TX=n
> +CONFIG_RTE_LIBRTE_NFP_DEBUG_RX=n
>  
>  #
>  # Compile Marvell PMD driver
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 0501156bacb7..b9055e1030fa 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -2984,6 +2984,9 @@ static int nfp_pf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
>  	return ret;
>  }
>  
> +int nfp_logtype_init;
> +int nfp_logtype_driver;
> +
>  static const struct rte_pci_id pci_id_nfp_pf_net_map[] = {
>  	{
>  		RTE_PCI_DEVICE(PCI_VENDOR_ID_NETRONOME,
> @@ -3057,6 +3060,17 @@ RTE_PMD_REGISTER_PCI_TABLE(net_nfp_vf, pci_id_nfp_vf_net_map);
>  RTE_PMD_REGISTER_KMOD_DEP(net_nfp_pf, "* igb_uio | uio_pci_generic | vfio");
>  RTE_PMD_REGISTER_KMOD_DEP(net_nfp_vf, "* igb_uio | uio_pci_generic | vfio");
>  
> +RTE_INIT(nfp_init_log);
> +static void
> +nfp_init_log(void)
> +{
> +	nfp_logtype_init = rte_log_register("pmd.nfp.init");
> +	if (nfp_logtype_init >= 0)
> +		rte_log_set_level(nfp_logtype_init, RTE_LOG_NOTICE);
> +	nfp_logtype_driver = rte_log_register("pmd.nfp.driver");
> +	if (nfp_logtype_driver >= 0)
> +		rte_log_set_level(nfp_logtype_driver, RTE_LOG_NOTICE);
> +}
>  /*
>   * Local variables:
>   * c-file-style: "Linux"
> diff --git a/drivers/net/nfp/nfp_net_logs.h b/drivers/net/nfp/nfp_net_logs.h
> index 0b966e431f7b..618aaca1d31e 100644
> --- a/drivers/net/nfp/nfp_net_logs.h
> +++ b/drivers/net/nfp/nfp_net_logs.h
> @@ -36,14 +36,10 @@
>  
>  #define RTE_LIBRTE_NFP_NET_DEBUG_INIT 1

We can remove this now.

Also there is a build error in existing code, because of logging controlled by
this macro instead of config options the existing build scripts not able to
catch it, that build error also needs to be fixed with this patch (or before
this one)
  

Patch

diff --git a/config/common_base b/config/common_base
index 3695fbe5de27..8d18b3c81db8 100644
--- a/config/common_base
+++ b/config/common_base
@@ -267,7 +267,8 @@  CONFIG_RTE_LIBRTE_ENIC_DEBUG_FLOW=n
 # Compile burst-oriented Netronome NFP PMD driver
 #
 CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG=n
+CONFIG_RTE_LIBRTE_NFP_DEBUG_TX=n
+CONFIG_RTE_LIBRTE_NFP_DEBUG_RX=n
 
 #
 # Compile Marvell PMD driver
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 0501156bacb7..b9055e1030fa 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2984,6 +2984,9 @@  static int nfp_pf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 	return ret;
 }
 
+int nfp_logtype_init;
+int nfp_logtype_driver;
+
 static const struct rte_pci_id pci_id_nfp_pf_net_map[] = {
 	{
 		RTE_PCI_DEVICE(PCI_VENDOR_ID_NETRONOME,
@@ -3057,6 +3060,17 @@  RTE_PMD_REGISTER_PCI_TABLE(net_nfp_vf, pci_id_nfp_vf_net_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_nfp_pf, "* igb_uio | uio_pci_generic | vfio");
 RTE_PMD_REGISTER_KMOD_DEP(net_nfp_vf, "* igb_uio | uio_pci_generic | vfio");
 
+RTE_INIT(nfp_init_log);
+static void
+nfp_init_log(void)
+{
+	nfp_logtype_init = rte_log_register("pmd.nfp.init");
+	if (nfp_logtype_init >= 0)
+		rte_log_set_level(nfp_logtype_init, RTE_LOG_NOTICE);
+	nfp_logtype_driver = rte_log_register("pmd.nfp.driver");
+	if (nfp_logtype_driver >= 0)
+		rte_log_set_level(nfp_logtype_driver, RTE_LOG_NOTICE);
+}
 /*
  * Local variables:
  * c-file-style: "Linux"
diff --git a/drivers/net/nfp/nfp_net_logs.h b/drivers/net/nfp/nfp_net_logs.h
index 0b966e431f7b..618aaca1d31e 100644
--- a/drivers/net/nfp/nfp_net_logs.h
+++ b/drivers/net/nfp/nfp_net_logs.h
@@ -36,14 +36,10 @@ 
 
 #define RTE_LIBRTE_NFP_NET_DEBUG_INIT 1
 
-#ifdef RTE_LIBRTE_NFP_NET_DEBUG_INIT
+extern int nfp_logtype_init;
 #define PMD_INIT_LOG(level, fmt, args...) \
 	RTE_LOG(level, PMD, "%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_NFP_NET_DEBUG_RX
 #define PMD_RX_LOG(level, fmt, args...) \
@@ -55,21 +51,15 @@ 
 #ifdef RTE_LIBRTE_NFP_NET_DEBUG_TX
 #define PMD_TX_LOG(level, fmt, args...) \
 	RTE_LOG(level, PMD, "%s() tx: " fmt, __func__, ## args)
+#define ASSERT(x) if (!(x)) rte_panic("NFP_NET: x")
 #else
 #define PMD_TX_LOG(level, fmt, args...) do { } while (0)
+#define ASSERT(x) do { } while (0)
 #endif
 
-#ifdef RTE_LIBRTE_NFP_NET_DEBUG_DRIVER
+extern int nfp_logtype_driver;
 #define PMD_DRV_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt, __func__, ## args)
-#else
-#define PMD_DRV_LOG(level, fmt, args...) do { } while (0)
-#endif
-
-#ifdef RTE_LIBRTE_NFP_NET_DEBUG_INIT
-#define ASSERT(x) if (!(x)) rte_panic("NFP_NET: x")
-#else
-#define ASSERT(x) do { } while (0)
-#endif
+	rte_log(RTE_LOG_ ## level, nfp_logtype_driver, \
+		"%s(): " fmt, __func__, ## args)
 
 #endif /* _NFP_NET_LOGS_H_ */