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 [off-list ref]
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 <redacted>
Date: Fri, 26 Aug 2016 09:20:37 -0400
Subject: [PATCH v1] Signed-off-by: Karmarkar Suyash [off-list ref]
---
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);
}
--
2.9.3.windows.1