event/octeontx2: relax memory requirement for event timers
Checks
Commit Message
From: Pavan Nikhilesh <pbhagavatula@marvell.com>
Relax memory requirement for event timers when internal mempool used is
octeontx2 mempool.
Add debug log to print the memory used.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
drivers/event/octeontx2/otx2_tim_evdev.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
Comments
On Tue, Jan 7, 2020 at 6:47 PM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Relax memory requirement for event timers when internal mempool used is
> octeontx2 mempool.
> Add debug log to print the memory used.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Applied to dpdk-next-eventdev/master. Thanks.
> ---
> drivers/event/octeontx2/otx2_tim_evdev.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/event/octeontx2/otx2_tim_evdev.c b/drivers/event/octeontx2/otx2_tim_evdev.c
> index b275c6922..cd0dcde24 100644
> --- a/drivers/event/octeontx2/otx2_tim_evdev.c
> +++ b/drivers/event/octeontx2/otx2_tim_evdev.c
> @@ -327,7 +327,11 @@ otx2_tim_ring_create(struct rte_event_timer_adapter *adptr)
> tim_optimze_bkt_param(tim_ring);
> }
>
> - tim_ring->nb_chunks = tim_ring->nb_chunks * tim_ring->nb_bkts;
> + if (tim_ring->disable_npa)
> + tim_ring->nb_chunks = tim_ring->nb_chunks * tim_ring->nb_bkts;
> + else
> + tim_ring->nb_chunks = tim_ring->nb_chunks + tim_ring->nb_bkts;
> +
> /* Create buckets. */
> tim_ring->bkt = rte_zmalloc("otx2_tim_bucket", (tim_ring->nb_bkts) *
> sizeof(struct otx2_tim_bkt),
> @@ -376,6 +380,11 @@ otx2_tim_ring_create(struct rte_event_timer_adapter *adptr)
> RTE_EVENT_TYPE_TIMER);
> sso_xae_reconfigure(dev->event_dev);
>
> + otx2_tim_dbg("Total memory used %"PRIu64"MB\n",
> + (uint64_t)(((tim_ring->nb_chunks * tim_ring->chunk_sz)
> + + (tim_ring->nb_bkts * sizeof(struct otx2_tim_bkt))) /
> + BIT_ULL(20)));
> +
> return rc;
>
> chnk_mem_err:
> --
> 2.17.1
>
@@ -327,7 +327,11 @@ otx2_tim_ring_create(struct rte_event_timer_adapter *adptr)
tim_optimze_bkt_param(tim_ring);
}
- tim_ring->nb_chunks = tim_ring->nb_chunks * tim_ring->nb_bkts;
+ if (tim_ring->disable_npa)
+ tim_ring->nb_chunks = tim_ring->nb_chunks * tim_ring->nb_bkts;
+ else
+ tim_ring->nb_chunks = tim_ring->nb_chunks + tim_ring->nb_bkts;
+
/* Create buckets. */
tim_ring->bkt = rte_zmalloc("otx2_tim_bucket", (tim_ring->nb_bkts) *
sizeof(struct otx2_tim_bkt),
@@ -376,6 +380,11 @@ otx2_tim_ring_create(struct rte_event_timer_adapter *adptr)
RTE_EVENT_TYPE_TIMER);
sso_xae_reconfigure(dev->event_dev);
+ otx2_tim_dbg("Total memory used %"PRIu64"MB\n",
+ (uint64_t)(((tim_ring->nb_chunks * tim_ring->chunk_sz)
+ + (tim_ring->nb_bkts * sizeof(struct otx2_tim_bkt))) /
+ BIT_ULL(20)));
+
return rc;
chnk_mem_err: