summaryrefslogtreecommitdiff
path: root/examples/vmdq
diff options
context:
space:
mode:
authorXutao Sun <xutao.sun@intel.com>2015-10-27 16:58:33 +0800
committerThomas Monjalon <thomas.monjalon@6wind.com>2015-12-07 03:21:13 +0100
commite4363e814961c006be82d2b4e59e9509c2463edf (patch)
treee1f9dbf6425eaef555a52e768cd6f055046744ef /examples/vmdq
parent56faae8269eede35ec869d68f8aa1524918d7497 (diff)
downloaddpdk-e4363e814961c006be82d2b4e59e9509c2463edf.zip
dpdk-e4363e814961c006be82d2b4e59e9509c2463edf.tar.gz
dpdk-e4363e814961c006be82d2b4e59e9509c2463edf.tar.xz
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 <xutao.sun@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Diffstat (limited to 'examples/vmdq')
-rw-r--r--examples/vmdq/main.c9
1 files 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