service: print errors to rte log

Message ID 20190820233256.27405-1-stephen@networkplumber.org (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series service: print errors to rte log |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues
ci/iol-Compile-Testing success Compile Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Stephen Hemminger Aug. 20, 2019, 11:32 p.m. UTC
  EAL should always use rte_log instead of putting errors to
stderr (which maybe redirected to /dev/null in a daemon).

Also checks for null before rte_free are unnecessary.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_eal/common/rte_service.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)
  

Comments

Van Haaren, Harry Aug. 21, 2019, 8:58 a.m. UTC | #1
> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Wednesday, August 21, 2019 12:33 AM
> To: Van Haaren, Harry <harry.van.haaren@intel.com>
> Cc: dev@dpdk.org; Stephen Hemminger <stephen@networkplumber.org>
> Subject: [PATCH] service: print errors to rte log
> 
> EAL should always use rte_log instead of putting errors to
> stderr (which maybe redirected to /dev/null in a daemon).
> 
> Also checks for null before rte_free are unnecessary.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

Thanks - good improvements.

A few nit-picks, I'll send a v2 based on your changes here with
the below notes implemented.

I'll add my Sign-off for code changes, and Acked-by for the whole,
hope that's OK, if you'd prefer two different patches just let me know.

-H

> ---
>  lib/librte_eal/common/rte_service.c | 23 +++++++++++------------
>  1 file changed, 11 insertions(+), 12 deletions(-)
> 
> diff --git a/lib/librte_eal/common/rte_service.c
> b/lib/librte_eal/common/rte_service.c
> index c3653ebae46c..aa2f8f3ef4b1 100644
> --- a/lib/librte_eal/common/rte_service.c
> +++ b/lib/librte_eal/common/rte_service.c
> @@ -70,10 +70,12 @@ static struct rte_service_spec_impl *rte_services;
>  static struct core_state *lcore_states;
>  static uint32_t rte_service_library_initialized;
> 
> +
>  int32_t rte_service_init(void)
>  {

Added line here should really split return-value and function into
two lines. Found another instance of this, splitting that too to make
the whole file consistent.

Rest of file uses 1 line to split variable declarations and functions,
so one line will do.

<snip>

>  	if (!rte_services) {
> -		printf("error allocating rte services array\n");
> +		RTE_LOG(ERR, EAL,
> +			"error allocating rte services array\n");
>  		goto fail_mem;

Some of these "strings" can be on the same line as RTE_LOG and stay
inside the 80 char limit, moving them up a line for consistency.
  

Patch

diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index c3653ebae46c..aa2f8f3ef4b1 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -70,10 +70,12 @@  static struct rte_service_spec_impl *rte_services;
 static struct core_state *lcore_states;
 static uint32_t rte_service_library_initialized;
 
+
 int32_t rte_service_init(void)
 {
 	if (rte_service_library_initialized) {
-		printf("service library init() called, init flag %d\n",
+		RTE_LOG(NOTICE, EAL,
+			"service library init() called, init flag %d\n",
 			rte_service_library_initialized);
 		return -EALREADY;
 	}
@@ -82,14 +84,16 @@  int32_t rte_service_init(void)
 			sizeof(struct rte_service_spec_impl),
 			RTE_CACHE_LINE_SIZE);
 	if (!rte_services) {
-		printf("error allocating rte services array\n");
+		RTE_LOG(ERR, EAL,
+			"error allocating rte services array\n");
 		goto fail_mem;
 	}
 
 	lcore_states = rte_calloc("rte_service_core_states", RTE_MAX_LCORE,
 			sizeof(struct core_state), RTE_CACHE_LINE_SIZE);
 	if (!lcore_states) {
-		printf("error allocating core states array\n");
+		RTE_LOG(ERR, EAL,
+			"error allocating core states array\n");
 		goto fail_mem;
 	}
 
@@ -108,10 +112,8 @@  int32_t rte_service_init(void)
 	rte_service_library_initialized = 1;
 	return 0;
 fail_mem:
-	if (rte_services)
-		rte_free(rte_services);
-	if (lcore_states)
-		rte_free(lcore_states);
+	rte_free(rte_services);
+	rte_free(lcore_states);
 	return -ENOMEM;
 }
 
@@ -121,11 +123,8 @@  rte_service_finalize(void)
 	if (!rte_service_library_initialized)
 		return;
 
-	if (rte_services)
-		rte_free(rte_services);
-
-	if (lcore_states)
-		rte_free(lcore_states);
+	rte_free(rte_services);
+	rte_free(lcore_states);
 
 	rte_service_library_initialized = 0;
 }