[dpdk-dev] [PATCH 1/2] app/testpmd: fix crash at mbuf pool creation

Olivier Matz olivier.matz at 6wind.com
Mon Apr 24 14:33:57 CEST 2017


Since
commit 999b2ee0fe45 ("app/testpmd: enable NUMA support by default"),
testpmd is started with numa enabled by default. This highlights a
floating point exception when started with --total-num-mbufs without any
port (division by 0). This bug was already triggered before this commit
if the --no-numa option was given.

This commit adds a check of the nb_ports value before doing the
division. By looking at this code, it appears that the creation of the
mbuf pool is not consistent for the number of mbufs depending on the
configuration. This is fixed in the next commit.

Fixes: b6ea6408fbc7 ("ethdev: store numa_node per device")

CC: stable at dpdk.org
Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
---
 app/test-pmd/testpmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 3a573480d..f61f31344 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -597,7 +597,7 @@ init_config(void)
 		uint8_t i;
 		unsigned int nb_mbuf;
 
-		if (param_total_num_mbufs)
+		if (param_total_num_mbufs && nb_ports != 0)
 			nb_mbuf_per_pool = nb_mbuf_per_pool/nb_ports;
 
 		for (i = 0; i < max_socket; i++) {
-- 
2.11.0



More information about the dev mailing list