[v2] app/pdump: enforcing pdump to use sw mempool
Checks
Commit Message
A secondary process cannot access HW mempool already
initiazed by primary, and neither it can setup its own
HW mempool due to its own restrictions.
Since dpdk-pdump creates mempool for managing its local
mbufs, SW mempool is capable enough to solve this purpose.
Signed-off-by: Harman Kalra <hkalra@marvell.com>
---
app/pdump/main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Comments
hi,
On Fri, Jul 05, 2019 at 03:40:20PM +0000, Harman Kalra wrote:
> A secondary process cannot access HW mempool already
> initiazed by primary, and neither it can setup its own
> HW mempool due to its own restrictions.
>
> Since dpdk-pdump creates mempool for managing its local
> mbufs, SW mempool is capable enough to solve this purpose.
>
> Signed-off-by: Harman Kalra <hkalra@marvell.com>
> ---
> app/pdump/main.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/app/pdump/main.c b/app/pdump/main.c
> index 80dc924cf..c739ae43d 100644
> --- a/app/pdump/main.c
> +++ b/app/pdump/main.c
> @@ -604,11 +604,12 @@ create_mp_ring_vdev(void)
> mbuf_pool = rte_mempool_lookup(mempool_name);
> if (mbuf_pool == NULL) {
> /* create mempool */
> - mbuf_pool = rte_pktmbuf_pool_create(mempool_name,
> + mbuf_pool = rte_pktmbuf_pool_create_by_ops(mempool_name,
> pt->total_num_mbufs,
> MBUF_POOL_CACHE_SIZE, 0,
> pt->mbuf_data_size,
> - rte_socket_id());
> + rte_socket_id(),
> + RTE_MBUF_DEFAULT_MEMPOOL_OPS);
> if (mbuf_pool == NULL) {
> cleanup_rings();
> rte_exit(EXIT_FAILURE,
> --
> 2.18.0
>
Did you see the comment in my previous mail?
"""
I think it would be safer to use "ring_mp_mc" instead of
CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS, because the latter could be
overriden on a specific platform.
"""
Thanks,
Olivier
@@ -604,11 +604,12 @@ create_mp_ring_vdev(void)
mbuf_pool = rte_mempool_lookup(mempool_name);
if (mbuf_pool == NULL) {
/* create mempool */
- mbuf_pool = rte_pktmbuf_pool_create(mempool_name,
+ mbuf_pool = rte_pktmbuf_pool_create_by_ops(mempool_name,
pt->total_num_mbufs,
MBUF_POOL_CACHE_SIZE, 0,
pt->mbuf_data_size,
- rte_socket_id());
+ rte_socket_id(),
+ RTE_MBUF_DEFAULT_MEMPOOL_OPS);
if (mbuf_pool == NULL) {
cleanup_rings();
rte_exit(EXIT_FAILURE,