Macro MAX_QUEUES was defined to 128, only allow 16 vmdq_pools in theory. When running vmdq_app with more than 34 vmdq_pools, it will cause the core_dump issue. Change MAX_QUEUES to 1024 will solve this issue.
Signed-off-by: Xutao Sun <xutao.sun at intel.com> --- v2: - Rectify the NUM_MBUFS_PER_PORT since MAX_QUEUES has been changed v3: - Change the comments above the relevant code. examples/vmdq/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c index a142d49..178af2f 100644 --- a/examples/vmdq/main.c +++ b/examples/vmdq/main.c @@ -69,12 +69,13 @@ #include <rte_mbuf.h> #include <rte_memcpy.h> -#define MAX_QUEUES 128 +#define MAX_QUEUES 1024 /* - * For 10 GbE, 128 queues require roughly - * 128*512 (RX/TX_queue_nb * RX/TX_ring_descriptors_nb) per port. + * 1024 queues require to meet the needs of a large number of vmdq_pools. + * (RX/TX_queue_nb * RX/TX_ring_descriptors_nb) per port. */ -#define NUM_MBUFS_PER_PORT (128*512) +#define NUM_MBUFS_PER_PORT (MAX_QUEUES * RTE_MAX(RTE_TEST_RX_DESC_DEFAULT, \ + RTE_TEST_TX_DESC_DEFAULT)) #define MBUF_CACHE_SIZE 64 #define MAX_PKT_BURST 32 -- 1.9.3