mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 01:21:58 +00:00
Merge branch 'timers/range-hrtimers' into v28-range-hrtimers-for-linus-v2
Conflicts: kernel/time/tick-sched.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
commit
268a3dcfea
30 changed files with 710 additions and 379 deletions
|
@ -639,7 +639,7 @@ common_timer_get(struct k_itimer *timr, struct itimerspec *cur_setting)
|
|||
(timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE))
|
||||
timr->it_overrun += (unsigned int) hrtimer_forward(timer, now, iv);
|
||||
|
||||
remaining = ktime_sub(timer->expires, now);
|
||||
remaining = ktime_sub(hrtimer_get_expires(timer), now);
|
||||
/* Return 0 only, when the timer is expired and not pending */
|
||||
if (remaining.tv64 <= 0) {
|
||||
/*
|
||||
|
@ -733,7 +733,7 @@ common_timer_set(struct k_itimer *timr, int flags,
|
|||
hrtimer_init(&timr->it.real.timer, timr->it_clock, mode);
|
||||
timr->it.real.timer.function = posix_timer_fn;
|
||||
|
||||
timer->expires = timespec_to_ktime(new_setting->it_value);
|
||||
hrtimer_set_expires(timer, timespec_to_ktime(new_setting->it_value));
|
||||
|
||||
/* Convert interval */
|
||||
timr->it.real.interval = timespec_to_ktime(new_setting->it_interval);
|
||||
|
@ -742,14 +742,12 @@ common_timer_set(struct k_itimer *timr, int flags,
|
|||
if (((timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE)) {
|
||||
/* Setup correct expiry time for relative timers */
|
||||
if (mode == HRTIMER_MODE_REL) {
|
||||
timer->expires =
|
||||
ktime_add_safe(timer->expires,
|
||||
timer->base->get_time());
|
||||
hrtimer_add_expires(timer, timer->base->get_time());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
hrtimer_start(timer, timer->expires, mode);
|
||||
hrtimer_start_expires(timer, mode);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue