aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/alarmtimer.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-05-30 23:15:43 +0200
committerThomas Gleixner <tglx@linutronix.de>2017-06-04 15:40:24 +0200
commit80105cd0e62ba8a2caf8eebd52f42952c7c04046 (patch)
tree07a96085c4edea3adb431799fc82f1967a37f601 /kernel/time/alarmtimer.c
parentposix-timers: Unify overrun/requeue_pending handling (diff)
downloadlinux-dev-80105cd0e62ba8a2caf8eebd52f42952c7c04046.tar.xz
linux-dev-80105cd0e62ba8a2caf8eebd52f42952c7c04046.zip
posix-timers: Move interval out of the union
Preparatory patch to unify the alarm timer and hrtimer based posix interval timer handling. The interval is used as a criteria for rearming decisions so moving it out of the clock specific data structures allows later unification. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: John Stultz <john.stultz@linaro.org> Link: http://lkml.kernel.org/r/20170530211656.563922908@linutronix.de
Diffstat (limited to 'kernel/time/alarmtimer.c')
-rw-r--r--kernel/time/alarmtimer.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index 36855d675da5..5b8cf4b61854 100644
--- a/kernel/time/alarmtimer.c
+++ b/kernel/time/alarmtimer.c
@@ -527,9 +527,8 @@ static enum alarmtimer_restart alarm_handle_timer(struct alarm *alarm,
}
/* Re-add periodic timers */
- if (ptr->it.alarm.interval) {
- ptr->it_overrun += alarm_forward(alarm, now,
- ptr->it.alarm.interval);
+ if (ptr->it_interval) {
+ ptr->it_overrun += alarm_forward(alarm, now, ptr->it_interval);
result = ALARMTIMER_RESTART;
}
spin_unlock_irqrestore(&ptr->it_lock, flags);
@@ -613,7 +612,7 @@ static void alarm_timer_get(struct k_itimer *timr,
cur_setting->it_value.tv_nsec = 0;
}
- cur_setting->it_interval = ktime_to_timespec64(timr->it.alarm.interval);
+ cur_setting->it_interval = ktime_to_timespec64(timr->it_interval);
}
/**
@@ -662,14 +661,14 @@ static int alarm_timer_set(struct k_itimer *timr, int flags,
return TIMER_RETRY;
/* start the timer */
- timr->it.alarm.interval = timespec64_to_ktime(new_setting->it_interval);
+ timr->it_interval = timespec64_to_ktime(new_setting->it_interval);
/*
* Rate limit to the tick as a hot fix to prevent DOS. Will be
* mopped up later.
*/
- if (timr->it.alarm.interval < TICK_NSEC)
- timr->it.alarm.interval = TICK_NSEC;
+ if (timr->it_interval < TICK_NSEC)
+ timr->it_interval = TICK_NSEC;
exp = timespec64_to_ktime(new_setting->it_value);
/* Convert (if necessary) to absolute time */