We only need to consult the timer value when the driver waits for a timeout, so skip making the call to get the current timer/TSC value if the timeout is zero, as no wait will ever be done.
Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- drivers/event/dlb2/dlb2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index 050ace0904..f395ef0cb7 100644 --- a/drivers/event/dlb2/dlb2.c +++ b/drivers/event/dlb2/dlb2.c @@ -3966,7 +3966,8 @@ dlb2_hw_dequeue_sparse(struct dlb2_eventdev *dlb2, else timeout = dlb2->global_dequeue_wait_ticks; - start_ticks = rte_get_timer_cycles(); + if (timeout != 0) + start_ticks = rte_get_timer_cycles(); use_scalar = use_scalar || (max_num & 0x3); @@ -4114,7 +4115,8 @@ dlb2_hw_dequeue(struct dlb2_eventdev *dlb2, else timeout = dlb2->global_dequeue_wait_ticks; - start_ticks = rte_get_timer_cycles(); + if (timeout != 0) + start_ticks = rte_get_timer_cycles(); while (num < max_num) { struct dlb2_dequeue_qe qes[DLB2_NUM_QES_PER_CACHE_LINE]; -- 2.40.1