[dpdk-dev] [PATCH v1] app/test: fix pmd_perf issue in no NUMA case

Cunming Liang cunming.liang at intel.com
Mon Jun 8 08:33:14 CEST 2015


Reported-by: Jayakumar, Muthurajan <muthurajan.jayakumar at intel.com>
Signed-off-by: Cunming Liang <cunming.liang at intel.com>
---
 app/test/test_pmd_perf.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index 1fd6843..6f218f7 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c
@@ -321,6 +321,19 @@ alloc_lcore(uint16_t socketid)
 	return (uint16_t)-1;
 }
 
+static int
+get_socket_id(uint8_t port_id)
+{
+	int socket_id;
+
+	socket_id = rte_eth_dev_socket_id(port_id);
+	if (socket_id < 0)
+		/* enforce using socket 0 when no NUMA support */
+		socket_id = 0;
+
+	return socket_id;
+}
+
 volatile uint64_t stop;
 uint64_t count;
 uint64_t drop;
@@ -727,7 +740,7 @@ test_pmd_perf(void)
 	num = 0;
 	for (portid = 0; portid < nb_ports; portid++) {
 		if (socketid == -1) {
-			socketid = rte_eth_dev_socket_id(portid);
+			socketid = get_socket_id(portid);
 			slave_id = alloc_lcore(socketid);
 			if (slave_id == (uint16_t)-1) {
 				printf("No avail lcore to run test\n");
@@ -737,7 +750,7 @@ test_pmd_perf(void)
 			       slave_id, socketid);
 		}
 
-		if (socketid != rte_eth_dev_socket_id(portid)) {
+		if (socketid != get_socket_id(portid)) {
 			printf("Skip port %d\n", portid);
 			continue;
 		}
@@ -818,7 +831,7 @@ test_pmd_perf(void)
 
 	/* port tear down */
 	for (portid = 0; portid < nb_ports; portid++) {
-		if (socketid != rte_eth_dev_socket_id(portid))
+		if (socketid != get_socket_id(portid))
 			continue;
 
 		rte_eth_dev_stop(portid);
-- 
1.8.1.4



More information about the dev mailing list