[1/2] app/eventdev: use mempool cache for vector pool

Message ID 20220523095954.3181-1-pbhagavatula@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [1/2] app/eventdev: use mempool cache for vector pool |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula May 23, 2022, 9:59 a.m. UTC
  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(-)
  

Comments

Jerin Jacob June 10, 2022, 1:44 p.m. UTC | #1
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
>
  
Jerin Jacob June 13, 2022, 5:56 a.m. UTC | #2
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
> >
  

Patch

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");