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

Message ID 20160826132701.18428-1-skarmarkar@sonusnet.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Karmarkar Suyash Aug. 26, 2016, 1:27 p.m. UTC
  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

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

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

 From ba885531ac26af1aabc6bd0f58d7ce744b04acf7 Mon Sep 17 00:00:00 2001
From: Karmarkar Suyash <skarmarkar@sonusnet.com>
Date: Fri, 26 Aug 2016 09:20:37 -0400
Subject: [PATCH v1] Signed-off-by: Karmarkar Suyash <skarmarkar@sonusnet.com>

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

Patch

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