Re: [dpdk-dev] [PATCH v3 4/6] test: fix memory leak in ring perf autotest

2018-01-19 Thread Olivier Matz
On Wed, Jan 17, 2018 at 11:15:54AM +, Anatoly Burakov wrote:
> Fixes: ac3fb3019c52 ("app: rework ring tests")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Anatoly Burakov 

Acked-by: Olivier Matz 


[dpdk-dev] [PATCH v3 4/6] test: fix memory leak in ring perf autotest

2018-01-17 Thread Anatoly Burakov
Fixes: ac3fb3019c52 ("app: rework ring tests")
Cc: sta...@dpdk.org

Signed-off-by: Anatoly Burakov 
---

Notes:
v2: remove static ring variable

 test/test/test_ring_perf.c | 36 
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/test/test/test_ring_perf.c b/test/test/test_ring_perf.c
index 4363e4d..ebb3939 100644
--- a/test/test/test_ring_perf.c
+++ b/test/test/test_ring_perf.c
@@ -32,9 +32,6 @@
  */
 static const volatile unsigned bulk_sizes[] = { 8, 32 };
 
-/* The ring structure used for tests */
-static struct rte_ring *r;
-
 struct lcore_pair {
unsigned c1, c2;
 };
@@ -115,7 +112,7 @@ get_two_sockets(struct lcore_pair *lcp)
 
 /* Get cycle counts for dequeuing from an empty ring. Should be 2 or 3 cycles 
*/
 static void
-test_empty_dequeue(void)
+test_empty_dequeue(struct rte_ring *r)
 {
const unsigned iter_shift = 26;
const unsigned iterations = 1size;
unsigned i;
void *burst[MAX_BURST] = {0};
@@ -192,6 +191,7 @@ dequeue_bulk(void *p)
const unsigned iter_shift = 23;
const unsigned iterations = 1size;
unsigned i;
void *burst[MAX_BURST] = {0};
@@ -222,7 +222,7 @@ dequeue_bulk(void *p)
  * used to measure ring perf between hyperthreads, cores and sockets.
  */
 static void
-run_on_core_pair(struct lcore_pair *cores,
+run_on_core_pair(struct lcore_pair *cores, struct rte_ring *r,
lcore_function_t f1, lcore_function_t f2)
 {
struct thread_params param1 = {0}, param2 = {0};
@@ -230,6 +230,7 @@ run_on_core_pair(struct lcore_pair *cores,
for (i = 0; i < sizeof(bulk_sizes)/sizeof(bulk_sizes[0]); i++) {
lcore_count = 0;
param1.size = param2.size = bulk_sizes[i];
+   param1.r = param2.r = r;
if (cores->c1 == rte_get_master_lcore()) {
rte_eal_remote_launch(f2, ¶m2, cores->c2);
f1(¶m1);
@@ -252,7 +253,7 @@ run_on_core_pair(struct lcore_pair *cores,
  * takes on a single lcore. Result is for comparison with the bulk enq+deq.
  */
 static void
-test_single_enqueue_dequeue(void)
+test_single_enqueue_dequeue(struct rte_ring *r)
 {
const unsigned iter_shift = 24;
const unsigned iterations = 1<