[dpdk-dev] [PATCH] rte_alarm: modify it to make it not to be affected by discontinuous jumps in the system time

Stephen Hemminger stephen at networkplumber.org
Wed Oct 14 02:33:20 CEST 2015


On Fri,  5 Jun 2015 10:46:36 +0800
Wen-Chi Yang <wolkayang at gmail.com> wrote:

> Due to eal_alarm_callback() and rte_eal_alarm_set() use gettimeofday()
> to get the current time, and gettimeofday() is affected by jumps.
> 
> For example, set up a rte_alarm which will be triggerd next second (
> current time + 1 second) by rte_eal_alarm_set(). And the callback
> function of this rte_alarm sets up another rte_alarm which will be
> triggered next second (current time + 2 second).
> Once we change the system time when the callback function is triggered,
> it is possiblb that rte alarm functionalities work out of expectation.
> 
> Replace gettimeofday() with clock_gettime(CLOCK_MONOTONIC_RAW, &now)
> could avoid this phenomenon.
> 
> Signed-off-by: Wen-Chi Yang <wolkayang at gmail.com>

Agreed, this should be applied.
Does BSD version have same problem?

Acked-by: Stephen Hemminger <stephen at networkplumber.org>



More information about the dev mailing list