From e4363e814961c006be82d2b4e59e9509c2463edf Mon Sep 17 00:00:00 2001 From: Xutao Sun Date: Tue, 27 Oct 2015 16:58:33 +0800 Subject: [PATCH] examples/vmdq: fix crash when using too many pools 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 Acked-by: Pablo de Lara Acked-by: Jingjing Wu --- 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 a142d491f8..178af2f5b9 100644 --- a/examples/vmdq/main.c +++ b/examples/vmdq/main.c @@ -69,12 +69,13 @@ #include #include -#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 -- 2.20.1