[dpdk-dev] [PATCH 1/2] test/pmd_ring_perf: release ring resources after test

Phil Yang phil.yang at arm.com
Fri Oct 19 13:00:38 CEST 2018


Need to release the port and the ring resources after test. Otherwise,
it will cause failure to allocate memory when reentry the test.

Fixes: ea764af ("app/test: add performance test for ring driver")

Signed-off-by: Phil Yang <phil.yang at arm.com>
Reviewed-by: Gavin Hu <gavin.hu at arm.com>
---
 test/test/test_pmd_ring_perf.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/test/test/test_pmd_ring_perf.c b/test/test/test_pmd_ring_perf.c
index ad5004a..6318da1 100644
--- a/test/test/test_pmd_ring_perf.c
+++ b/test/test/test_pmd_ring_perf.c
@@ -10,6 +10,7 @@
 #include <rte_launch.h>
 #include <rte_ethdev.h>
 #include <rte_eth_ring.h>
+#include <rte_bus_vdev.h>
 
 #include "test.h"
 
@@ -135,6 +136,8 @@ test_bulk_enqueue_dequeue(void)
 static int
 test_ring_pmd_perf(void)
 {
+	char name[RTE_ETH_NAME_MAX_LEN];
+
 	r = rte_ring_create(RING_NAME, RING_SIZE, rte_socket_id(),
 			RING_F_SP_ENQ|RING_F_SC_DEQ);
 	if (r == NULL && (r = rte_ring_lookup(RING_NAME)) == NULL)
@@ -151,6 +154,11 @@ test_ring_pmd_perf(void)
 	printf("\n### Testing using a single lcore ###\n");
 	test_bulk_enqueue_dequeue();
 
+	/* release port and ring resources */
+	rte_eth_dev_stop(ring_ethdev_port);
+	rte_eth_dev_get_name_by_port(ring_ethdev_port, name);
+	rte_vdev_uninit(name);
+	rte_ring_free(r);
 	return 0;
 }
 
-- 
2.7.4



More information about the dev mailing list