[dpdk-dev,1/2] test/mempool_perf: Free mempool on exit

Message ID 1491382264-23489-1-git-send-email-santosh.shukla@caviumnetworks.com (mailing list archive)
State Superseded, archived
Headers

Checks

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

Commit Message

Santosh Shukla April 5, 2017, 8:51 a.m. UTC
  Mempool_perf test not freeing pool memory.

Cc: stable@dpdk.org
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
---
 test/test/test_mempool_perf.c |   31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)
  

Comments

Shreyansh Jain April 5, 2017, 9:57 a.m. UTC | #1
Hello Santosh,

On Wednesday 05 April 2017 02:21 PM, Santosh Shukla wrote:
> Mempool_perf test not freeing pool memory.
>
> Cc: stable@dpdk.org
> Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
> ---
>  test/test/test_mempool_perf.c |   31 +++++++++++++++++++------------
>  1 file changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/test/test/test_mempool_perf.c b/test/test/test_mempool_perf.c
> index ebf1721..3c45971 100644
> --- a/test/test/test_mempool_perf.c
> +++ b/test/test/test_mempool_perf.c
> @@ -312,6 +312,8 @@ struct mempool_test_stats {
>  static int
>  test_mempool_perf(void)
>  {
> +	int ret = -1;
> +
>  	rte_atomic32_init(&synchro);
>
>  	/* create a mempool (without cache) */
> @@ -322,7 +324,7 @@ struct mempool_test_stats {

Can you check why the patch is showing "struct mempool_test_stats" as
the context?
I tried creating this patch and it shows "test_mempool_perf(void)" as
context.

off the topic, does it matter to maintainers if context is not correct?

>  						my_obj_init, NULL,
>  						SOCKET_ID_ANY, 0);
>  	if (mp_nocache == NULL)
> -		return -1;
> +		goto err;
>
>  	/* create a mempool (with cache) */
>  	if (mp_cache == NULL)

[...]

> +err:
> +	rte_mempool_free(mp_cache);
> +	rte_mempool_free(mp_nocache);
> +	return ret;
>  }
>
>  REGISTER_TEST_COMMAND(mempool_perf_autotest, test_mempool_perf);
>

Other than that:

Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
  

Patch

diff --git a/test/test/test_mempool_perf.c b/test/test/test_mempool_perf.c
index ebf1721..3c45971 100644
--- a/test/test/test_mempool_perf.c
+++ b/test/test/test_mempool_perf.c
@@ -312,6 +312,8 @@  struct mempool_test_stats {
 static int
 test_mempool_perf(void)
 {
+	int ret = -1;
+
 	rte_atomic32_init(&synchro);
 
 	/* create a mempool (without cache) */
@@ -322,7 +324,7 @@  struct mempool_test_stats {
 						my_obj_init, NULL,
 						SOCKET_ID_ANY, 0);
 	if (mp_nocache == NULL)
-		return -1;
+		goto err;
 
 	/* create a mempool (with cache) */
 	if (mp_cache == NULL)
@@ -333,33 +335,33 @@  struct mempool_test_stats {
 					      my_obj_init, NULL,
 					      SOCKET_ID_ANY, 0);
 	if (mp_cache == NULL)
-		return -1;
+		goto err;
 
 	/* performance test with 1, 2 and max cores */
 	printf("start performance test (without cache)\n");
 	mp = mp_nocache;
 
 	if (do_one_mempool_test(1) < 0)
-		return -1;
+		goto err;
 
 	if (do_one_mempool_test(2) < 0)
-		return -1;
+		goto err;
 
 	if (do_one_mempool_test(rte_lcore_count()) < 0)
-		return -1;
+		goto err;
 
 	/* performance test with 1, 2 and max cores */
 	printf("start performance test (with cache)\n");
 	mp = mp_cache;
 
 	if (do_one_mempool_test(1) < 0)
-		return -1;
+		goto err;
 
 	if (do_one_mempool_test(2) < 0)
-		return -1;
+		goto err;
 
 	if (do_one_mempool_test(rte_lcore_count()) < 0)
-		return -1;
+		goto err;
 
 	/* performance test with 1, 2 and max cores */
 	printf("start performance test (with user-owned cache)\n");
@@ -367,17 +369,22 @@  struct mempool_test_stats {
 	use_external_cache = 1;
 
 	if (do_one_mempool_test(1) < 0)
-		return -1;
+		goto err;
 
 	if (do_one_mempool_test(2) < 0)
-		return -1;
+		goto err;
 
 	if (do_one_mempool_test(rte_lcore_count()) < 0)
-		return -1;
+		goto err;
 
 	rte_mempool_list_dump(stdout);
 
-	return 0;
+	ret = 0;
+
+err:
+	rte_mempool_free(mp_cache);
+	rte_mempool_free(mp_nocache);
+	return ret;
 }
 
 REGISTER_TEST_COMMAND(mempool_perf_autotest, test_mempool_perf);