[dpdk-dev] [PATCH v1] rte_timer:timer lag issue correction

Karmarkar Suyash skarmarkar at sonusnet.com
Fri Aug 26 03:57:05 CEST 2016


For Periodic timers ,if the lag gets introduced, the current code added additional
delay when the next peridoc timer was initialized by not taking into account the delay added, with this fix 
the code would start the next occurrence of timer keeping in account the lag added.Corrected the behavior.

Fixes:rte_timer: timer lag issue

---
 lib/librte_timer/rte_timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c
index 43da836..18782fa 100644
--- a/lib/librte_timer/rte_timer.c
+++ b/lib/librte_timer/rte_timer.c
@@ -613,7 +613,7 @@ void rte_timer_manage(void)
 			status.owner = (int16_t)lcore_id;
 			rte_wmb();
 			tim->status.u32 = status.u32;
-			__rte_timer_reset(tim, cur_time + tim->period,
+			__rte_timer_reset(tim, tim->expire + tim->period,
 				tim->period, lcore_id, tim->f, tim->arg, 1);
 			rte_spinlock_unlock(&priv_timer[lcore_id].list_lock);
 		}
-- 

Karmarkar Suyash (1):
  Signed-off-by: Karmarkar Suyash <skarmarkar at sonusnet.com> 
  -- 
2.9.3.windows.1



More information about the dev mailing list