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

Karmarkar Suyash skarmarkar at sonusnet.com
Tue Aug 30 00:28:10 CEST 2016


Hello All,

Can you please review the change and let me know if any comments. I would like to push this patch to 16.07 release. Thanks

Regards
Suyash Karmarkar

-----Original Message-----
From: Karmarkar Suyash
Sent: Friday, August 26, 2016 9:27 AM
To: rsanford at akamai.com
Cc: dev at dpdk.org; Karmarkar Suyash <skarmarkar at sonusnet.com>
Subject: [PATCH v1]:rte_timer:timer lag issue correction

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 at sonusnet.com<mailto:skarmarkar at 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 at sonusnet.com<mailto:skarmarkar at sonusnet.com>>
Date: Fri, 26 Aug 2016 09:20:37 -0400
Subject: [PATCH v1] Signed-off-by: Karmarkar Suyash <skarmarkar at sonusnet.com<mailto:skarmarkar at sonusnet.com>>

---
 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




More information about the dev mailing list