mlx5: fix log initialization

Message ID 20180613184626.13458-1-stephen@networkplumber.org (mailing list archive)
State Accepted, archived
Delegated to: Shahaf Shuler
Headers
Series mlx5: fix log initialization |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK

Commit Message

Stephen Hemminger June 13, 2018, 6:46 p.m. UTC
  The mlx5 driver had two init functions, but this could
cause log initialization to be done after the
other initialization. Also, the name of the function does
not match convention (cut/paste error?).

Fix by initializing log type first at start of the pmd_init.
This also gets rid of having two constructor functions.

Fixes: a170a30d22a8 ("net/mlx5: use dynamic logging")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/mlx5/mlx5.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)
  

Comments

Nélio Laranjeiro June 14, 2018, 6:46 a.m. UTC | #1
On Wed, Jun 13, 2018 at 11:46:26AM -0700, Stephen Hemminger wrote:
> The mlx5 driver had two init functions, but this could
> cause log initialization to be done after the
> other initialization. Also, the name of the function does
> not match convention (cut/paste error?).

Indeed an error in the copy/paste, sorry,

> Fix by initializing log type first at start of the pmd_init.
> This also gets rid of having two constructor functions.
> 
> Fixes: a170a30d22a8 ("net/mlx5: use dynamic logging")
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

> ---
>  drivers/net/mlx5/mlx5.c | 13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
> index c933e274fe32..6ec4f3178b6b 100644
> --- a/drivers/net/mlx5/mlx5.c
> +++ b/drivers/net/mlx5/mlx5.c
> @@ -1439,6 +1439,11 @@ RTE_INIT(rte_mlx5_pmd_init);
>  static void
>  rte_mlx5_pmd_init(void)
>  {
> +	/* Initialize driver log type. */
> +	mlx5_logtype = rte_log_register("pmd.net.mlx5");
> +	if (mlx5_logtype >= 0)
> +		rte_log_set_level(mlx5_logtype, RTE_LOG_NOTICE);
> +
>  	/* Build the static tables for Verbs conversion. */
>  	mlx5_set_ptype_table();
>  	mlx5_set_cksum_table();
> @@ -1480,11 +1485,3 @@ rte_mlx5_pmd_init(void)
>  RTE_PMD_EXPORT_NAME(net_mlx5, __COUNTER__);
>  RTE_PMD_REGISTER_PCI_TABLE(net_mlx5, mlx5_pci_id_map);
>  RTE_PMD_REGISTER_KMOD_DEP(net_mlx5, "* ib_uverbs & mlx5_core & mlx5_ib");
> -
> -/** Initialize driver log type. */
> -RTE_INIT(vdev_netvsc_init_log)
> -{
> -	mlx5_logtype = rte_log_register("pmd.net.mlx5");
> -	if (mlx5_logtype >= 0)
> -		rte_log_set_level(mlx5_logtype, RTE_LOG_NOTICE);
> -}
> -- 
> 2.17.1

Thanks,
  
Shahaf Shuler June 17, 2018, 8:21 a.m. UTC | #2
Thursday, June 14, 2018 9:46 AM, Nélio Laranjeiro:
> Subject: Re: [dpdk-dev] [PATCH] mlx5: fix log initialization
> 
> On Wed, Jun 13, 2018 at 11:46:26AM -0700, Stephen Hemminger wrote:
> > The mlx5 driver had two init functions, but this could cause log
> > initialization to be done after the other initialization. Also, the
> > name of the function does not match convention (cut/paste error?).
> 
> Indeed an error in the copy/paste, sorry,
> 
> > Fix by initializing log type first at start of the pmd_init.
> > This also gets rid of having two constructor functions.
> >
> > Fixes: a170a30d22a8 ("net/mlx5: use dynamic logging")
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> 
> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> 

Applied to next-net-mlx with few log modifications:
1. title should be net/mlx5
2. Cc: stable@dpdk.org

Thanks.
  

Patch

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index c933e274fe32..6ec4f3178b6b 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -1439,6 +1439,11 @@  RTE_INIT(rte_mlx5_pmd_init);
 static void
 rte_mlx5_pmd_init(void)
 {
+	/* Initialize driver log type. */
+	mlx5_logtype = rte_log_register("pmd.net.mlx5");
+	if (mlx5_logtype >= 0)
+		rte_log_set_level(mlx5_logtype, RTE_LOG_NOTICE);
+
 	/* Build the static tables for Verbs conversion. */
 	mlx5_set_ptype_table();
 	mlx5_set_cksum_table();
@@ -1480,11 +1485,3 @@  rte_mlx5_pmd_init(void)
 RTE_PMD_EXPORT_NAME(net_mlx5, __COUNTER__);
 RTE_PMD_REGISTER_PCI_TABLE(net_mlx5, mlx5_pci_id_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_mlx5, "* ib_uverbs & mlx5_core & mlx5_ib");
-
-/** Initialize driver log type. */
-RTE_INIT(vdev_netvsc_init_log)
-{
-	mlx5_logtype = rte_log_register("pmd.net.mlx5");
-	if (mlx5_logtype >= 0)
-		rte_log_set_level(mlx5_logtype, RTE_LOG_NOTICE);
-}