From: Davide Libenzi I think that advancing the timer against the timer's current "now" can be a pretty common usage, so, w/out exposing hrtimer's internals, we add a new hrtimer_forward_now() function. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- include/linux/hrtimer.h | 7 +++++++ 1 file changed, 7 insertions(+) diff -puN include/linux/hrtimer.h~timerfd-v3-introduce-a-new-hrtimer_forward_now-function include/linux/hrtimer.h --- a/include/linux/hrtimer.h~timerfd-v3-introduce-a-new-hrtimer_forward_now-function +++ a/include/linux/hrtimer.h @@ -298,6 +298,13 @@ static inline int hrtimer_is_queued(stru extern unsigned long hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval); +/* Forward a hrtimer so it expires after the hrtimer's current now */ +static inline unsigned long hrtimer_forward_now(struct hrtimer *timer, + ktime_t interval) +{ + return hrtimer_forward(timer, timer->base->get_time(), interval); +} + /* Precise sleep: */ extern long hrtimer_nanosleep(struct timespec *rqtp, struct timespec *rmtp, _