[dpdk-dev,v3] examples/vmdq: Fix the core dump issue when mem_pool is more than 34
Commit Message
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>
---
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(-)
Comments
> -----Original Message-----
> From: Sun, Xutao
> Sent: Tuesday, October 27, 2015 8:59 AM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo; Wu, Jingjing; Zhang, Helin; Sun, Xutao
> Subject: [PATCH v3] examples/vmdq: Fix the core dump issue when
> mem_pool is more than 34
>
> 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>
> ---
> 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
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> > 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>
Applied, thanks
@@ -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