From: Pavan Nikhilesh <pbhagavat...@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 <pbhagavat...@marvell.com>
---
 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

Reply via email to