* [PATCH 1/2] app/eventdev: use mempool cache for vector pool @ 2022-05-23 9:59 pbhagavatula 2022-05-23 9:59 ` [PATCH 2/2] examples: " pbhagavatula 2022-06-10 13:44 ` [PATCH 1/2] app/eventdev: " Jerin Jacob 0 siblings, 2 replies; 5+ messages in thread From: pbhagavatula @ 2022-05-23 9:59 UTC (permalink / raw) To: jerinj; +Cc: dev, Pavan Nikhilesh From: Pavan Nikhilesh <pbhagavatula@marvell.com> Use mempool cache for vector mempool as vectors are freed by the Tx routine, also increase the minimum pool size to 512 to avoid resource contention on Rx. Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> --- app/test-eventdev/test_pipeline_common.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c index c66656cd39..856a2f1a52 100644 --- a/app/test-eventdev/test_pipeline_common.c +++ b/app/test-eventdev/test_pipeline_common.c @@ -338,9 +338,10 @@ pipeline_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride, if (opt->ena_vector) { unsigned int nb_elem = (opt->pool_sz / opt->vector_size) << 1; - nb_elem = nb_elem ? nb_elem : 1; + nb_elem = RTE_MAX(512U, nb_elem); + nb_elem += evt_nr_active_lcores(opt->wlcores) * 32; vector_pool = rte_event_vector_pool_create( - "vector_pool", nb_elem, 0, opt->vector_size, + "vector_pool", nb_elem, 32, opt->vector_size, opt->socket_id); if (vector_pool == NULL) { evt_err("failed to create event vector pool"); -- 2.25.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] examples: use mempool cache for vector pool 2022-05-23 9:59 [PATCH 1/2] app/eventdev: use mempool cache for vector pool pbhagavatula @ 2022-05-23 9:59 ` pbhagavatula 2022-06-10 13:46 ` Jerin Jacob 2022-06-10 13:44 ` [PATCH 1/2] app/eventdev: " Jerin Jacob 1 sibling, 1 reply; 5+ messages in thread From: pbhagavatula @ 2022-05-23 9:59 UTC (permalink / raw) To: jerinj, Radu Nicolau, Akhil Goyal, Sunil Kumar Kori, Pavan Nikhilesh; +Cc: dev From: Pavan Nikhilesh <pbhagavatula@marvell.com> Use mempool cache for vector mempool as vectors are freed by the Tx routine, also increase the minimum pool size to 512 to avoid resource contention on Rx. Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> --- examples/ipsec-secgw/event_helper.c | 8 ++++---- examples/l2fwd-event/main.c | 4 +++- examples/l3fwd/main.c | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/examples/ipsec-secgw/event_helper.c b/examples/ipsec-secgw/event_helper.c index 172ab8e716..b36f20a3fd 100644 --- a/examples/ipsec-secgw/event_helper.c +++ b/examples/ipsec-secgw/event_helper.c @@ -820,12 +820,12 @@ eh_rx_adapter_configure(struct eventmode_conf *em_conf, em_conf->ext_params.vector_size) + 1; if (per_port_pool) nb_elem = nb_ports * nb_elem; + nb_elem = RTE_MAX(512U, nb_elem); } - + nb_elem += rte_lcore_count() * 32; vector_pool = rte_event_vector_pool_create( - "vector_pool", nb_elem, 0, - em_conf->ext_params.vector_size, - socket_id); + "vector_pool", nb_elem, 32, + em_conf->ext_params.vector_size, socket_id); if (vector_pool == NULL) { EH_LOG_ERR("failed to create event vector pool"); return -ENOMEM; diff --git a/examples/l2fwd-event/main.c b/examples/l2fwd-event/main.c index dcc72f3f1e..44303d10c2 100644 --- a/examples/l2fwd-event/main.c +++ b/examples/l2fwd-event/main.c @@ -678,8 +678,10 @@ main(int argc, char **argv) vec_size = rsrc->evt_vec.size; nb_vec = (nb_mbufs + vec_size - 1) / vec_size; + nb_vec = RTE_MAX(512U, nb_vec); + nb_vec += rte_lcore_count() * 32; rsrc->evt_vec_pool = rte_event_vector_pool_create( - "vector_pool", nb_vec, 0, vec_size, rte_socket_id()); + "vector_pool", nb_vec, 32, vec_size, rte_socket_id()); if (rsrc->evt_vec_pool == NULL) rte_panic("Cannot init event vector pool\n"); } diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index a629198223..896a347db3 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -1006,9 +1006,11 @@ init_mem(uint16_t portid, unsigned int nb_mbuf) nb_vec = (nb_mbuf + evt_rsrc->vector_size - 1) / evt_rsrc->vector_size; + nb_vec = RTE_MAX(512U, nb_vec); + nb_vec += rte_lcore_count() * 32; snprintf(s, sizeof(s), "vector_pool_%d", portid); vector_pool[portid] = rte_event_vector_pool_create( - s, nb_vec, 0, evt_rsrc->vector_size, socketid); + s, nb_vec, 32, evt_rsrc->vector_size, socketid); if (vector_pool[portid] == NULL) rte_exit(EXIT_FAILURE, "Failed to create vector pool for port %d\n", -- 2.25.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] examples: use mempool cache for vector pool 2022-05-23 9:59 ` [PATCH 2/2] examples: " pbhagavatula @ 2022-06-10 13:46 ` Jerin Jacob 0 siblings, 0 replies; 5+ messages in thread From: Jerin Jacob @ 2022-06-10 13:46 UTC (permalink / raw) To: Pavan Nikhilesh Cc: Jerin Jacob, Radu Nicolau, Akhil Goyal, Sunil Kumar Kori, dpdk-dev On Mon, May 23, 2022 at 3:30 PM <pbhagavatula@marvell.com> wrote: > > From: Pavan Nikhilesh <pbhagavatula@marvell.com> > > Use mempool cache for vector mempool as vectors are freed by the Tx > routine, also increase the minimum pool size to 512 to avoid resource > contention on Rx. > > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com> > --- > examples/ipsec-secgw/event_helper.c | 8 ++++---- > examples/l2fwd-event/main.c | 4 +++- > examples/l3fwd/main.c | 4 +++- > 3 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/examples/ipsec-secgw/event_helper.c b/examples/ipsec-secgw/event_helper.c > index 172ab8e716..b36f20a3fd 100644 > --- a/examples/ipsec-secgw/event_helper.c > +++ b/examples/ipsec-secgw/event_helper.c > @@ -820,12 +820,12 @@ eh_rx_adapter_configure(struct eventmode_conf *em_conf, > em_conf->ext_params.vector_size) + 1; > if (per_port_pool) > nb_elem = nb_ports * nb_elem; > + nb_elem = RTE_MAX(512U, nb_elem); > } > - > + nb_elem += rte_lcore_count() * 32; > vector_pool = rte_event_vector_pool_create( > - "vector_pool", nb_elem, 0, > - em_conf->ext_params.vector_size, > - socket_id); > + "vector_pool", nb_elem, 32, > + em_conf->ext_params.vector_size, socket_id); > if (vector_pool == NULL) { > EH_LOG_ERR("failed to create event vector pool"); > return -ENOMEM; > diff --git a/examples/l2fwd-event/main.c b/examples/l2fwd-event/main.c > index dcc72f3f1e..44303d10c2 100644 > --- a/examples/l2fwd-event/main.c > +++ b/examples/l2fwd-event/main.c > @@ -678,8 +678,10 @@ main(int argc, char **argv) > > vec_size = rsrc->evt_vec.size; > nb_vec = (nb_mbufs + vec_size - 1) / vec_size; > + nb_vec = RTE_MAX(512U, nb_vec); > + nb_vec += rte_lcore_count() * 32; > rsrc->evt_vec_pool = rte_event_vector_pool_create( > - "vector_pool", nb_vec, 0, vec_size, rte_socket_id()); > + "vector_pool", nb_vec, 32, vec_size, rte_socket_id()); > if (rsrc->evt_vec_pool == NULL) > rte_panic("Cannot init event vector pool\n"); > } > diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c > index a629198223..896a347db3 100644 > --- a/examples/l3fwd/main.c > +++ b/examples/l3fwd/main.c > @@ -1006,9 +1006,11 @@ init_mem(uint16_t portid, unsigned int nb_mbuf) > > nb_vec = (nb_mbuf + evt_rsrc->vector_size - 1) / > evt_rsrc->vector_size; > + nb_vec = RTE_MAX(512U, nb_vec); > + nb_vec += rte_lcore_count() * 32; > snprintf(s, sizeof(s), "vector_pool_%d", portid); > vector_pool[portid] = rte_event_vector_pool_create( > - s, nb_vec, 0, evt_rsrc->vector_size, socketid); > + s, nb_vec, 32, evt_rsrc->vector_size, socketid); > if (vector_pool[portid] == NULL) > rte_exit(EXIT_FAILURE, > "Failed to create vector pool for port %d\n", > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] app/eventdev: use mempool cache for vector pool 2022-05-23 9:59 [PATCH 1/2] app/eventdev: use mempool cache for vector pool pbhagavatula 2022-05-23 9:59 ` [PATCH 2/2] examples: " pbhagavatula @ 2022-06-10 13:44 ` Jerin Jacob 2022-06-13 5:56 ` Jerin Jacob 1 sibling, 1 reply; 5+ messages in thread From: Jerin Jacob @ 2022-06-10 13:44 UTC (permalink / raw) To: Pavan Nikhilesh; +Cc: Jerin Jacob, dpdk-dev On Mon, May 23, 2022 at 3:30 PM <pbhagavatula@marvell.com> wrote: > > From: Pavan Nikhilesh <pbhagavatula@marvell.com> > > Use mempool cache for vector mempool as vectors are freed by the Tx > routine, also increase the minimum pool size to 512 to avoid resource > contention on Rx. > > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com> > --- > app/test-eventdev/test_pipeline_common.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c > index c66656cd39..856a2f1a52 100644 > --- a/app/test-eventdev/test_pipeline_common.c > +++ b/app/test-eventdev/test_pipeline_common.c > @@ -338,9 +338,10 @@ pipeline_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride, > if (opt->ena_vector) { > unsigned int nb_elem = (opt->pool_sz / opt->vector_size) << 1; > > - nb_elem = nb_elem ? nb_elem : 1; > + nb_elem = RTE_MAX(512U, nb_elem); > + nb_elem += evt_nr_active_lcores(opt->wlcores) * 32; > vector_pool = rte_event_vector_pool_create( > - "vector_pool", nb_elem, 0, opt->vector_size, > + "vector_pool", nb_elem, 32, opt->vector_size, > opt->socket_id); > if (vector_pool == NULL) { > evt_err("failed to create event vector pool"); > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] app/eventdev: use mempool cache for vector pool 2022-06-10 13:44 ` [PATCH 1/2] app/eventdev: " Jerin Jacob @ 2022-06-13 5:56 ` Jerin Jacob 0 siblings, 0 replies; 5+ messages in thread From: Jerin Jacob @ 2022-06-13 5:56 UTC (permalink / raw) To: Pavan Nikhilesh; +Cc: Jerin Jacob, dpdk-dev On Fri, Jun 10, 2022 at 7:14 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > On Mon, May 23, 2022 at 3:30 PM <pbhagavatula@marvell.com> wrote: > > > > From: Pavan Nikhilesh <pbhagavatula@marvell.com> > > > > Use mempool cache for vector mempool as vectors are freed by the Tx > > routine, also increase the minimum pool size to 512 to avoid resource > > contention on Rx. > > > > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> > > Acked-by: Jerin Jacob <jerinj@marvell.com> Series applied to dpdk-next-net-eventdev/for-main. Thanks > > > > --- > > app/test-eventdev/test_pipeline_common.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c > > index c66656cd39..856a2f1a52 100644 > > --- a/app/test-eventdev/test_pipeline_common.c > > +++ b/app/test-eventdev/test_pipeline_common.c > > @@ -338,9 +338,10 @@ pipeline_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride, > > if (opt->ena_vector) { > > unsigned int nb_elem = (opt->pool_sz / opt->vector_size) << 1; > > > > - nb_elem = nb_elem ? nb_elem : 1; > > + nb_elem = RTE_MAX(512U, nb_elem); > > + nb_elem += evt_nr_active_lcores(opt->wlcores) * 32; > > vector_pool = rte_event_vector_pool_create( > > - "vector_pool", nb_elem, 0, opt->vector_size, > > + "vector_pool", nb_elem, 32, opt->vector_size, > > opt->socket_id); > > if (vector_pool == NULL) { > > evt_err("failed to create event vector pool"); > > -- > > 2.25.1 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-06-13 5:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-05-23 9:59 [PATCH 1/2] app/eventdev: use mempool cache for vector pool pbhagavatula 2022-05-23 9:59 ` [PATCH 2/2] examples: " pbhagavatula 2022-06-10 13:46 ` Jerin Jacob 2022-06-10 13:44 ` [PATCH 1/2] app/eventdev: " Jerin Jacob 2022-06-13 5:56 ` Jerin Jacob
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).