diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-05-30 17:15:47 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-06-04 09:40:26 -0400 |
commit | f37fb0aa4f453c7c785bbcecc4991ac48c5c0e51 (patch) | |
tree | 9ccf6bc401b55ac4d01e66a980491ee3f10b5d81 /kernel/time/posix-cpu-timers.c | |
parent | 96fe3b072f134e4993f829d599eaa1e0eb5a10e5 (diff) |
posix-timers: Use timer_rearm() callback in posixtimer_rearm()
Use the new timer_rearm() callback to replace the conditional hardcoded
calls into the hrtimer and cpu timer code.
This allows later to bring the same logic to alarmtimers.
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.889661919@linutronix.de
Diffstat (limited to 'kernel/time/posix-cpu-timers.c')
-rw-r--r-- | kernel/time/posix-cpu-timers.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c index 1ba576d3151a..96c833a61ade 100644 --- a/kernel/time/posix-cpu-timers.c +++ b/kernel/time/posix-cpu-timers.c | |||
@@ -15,6 +15,8 @@ | |||
15 | 15 | ||
16 | #include "posix-timers.h" | 16 | #include "posix-timers.h" |
17 | 17 | ||
18 | static void posix_cpu_timer_rearm(struct k_itimer *timer); | ||
19 | |||
18 | /* | 20 | /* |
19 | * Called after updating RLIMIT_CPU to run cpu timer and update | 21 | * Called after updating RLIMIT_CPU to run cpu timer and update |
20 | * tsk->signal->cputime_expires expiration cache if necessary. Needs | 22 | * tsk->signal->cputime_expires expiration cache if necessary. Needs |
@@ -528,7 +530,7 @@ static void cpu_timer_fire(struct k_itimer *timer) | |||
528 | * reload the timer. But we need to keep it | 530 | * reload the timer. But we need to keep it |
529 | * ticking in case the signal is deliverable next time. | 531 | * ticking in case the signal is deliverable next time. |
530 | */ | 532 | */ |
531 | posix_cpu_timer_schedule(timer); | 533 | posix_cpu_timer_rearm(timer); |
532 | ++timer->it_requeue_pending; | 534 | ++timer->it_requeue_pending; |
533 | } | 535 | } |
534 | } | 536 | } |
@@ -984,7 +986,7 @@ static void check_process_timers(struct task_struct *tsk, | |||
984 | * This is called from the signal code (via posixtimer_rearm) | 986 | * This is called from the signal code (via posixtimer_rearm) |
985 | * when the last timer signal was delivered and we have to reload the timer. | 987 | * when the last timer signal was delivered and we have to reload the timer. |
986 | */ | 988 | */ |
987 | void posix_cpu_timer_schedule(struct k_itimer *timer) | 989 | static void posix_cpu_timer_rearm(struct k_itimer *timer) |
988 | { | 990 | { |
989 | struct sighand_struct *sighand; | 991 | struct sighand_struct *sighand; |
990 | unsigned long flags; | 992 | unsigned long flags; |
@@ -1431,6 +1433,7 @@ const struct k_clock clock_posix_cpu = { | |||
1431 | .timer_set = posix_cpu_timer_set, | 1433 | .timer_set = posix_cpu_timer_set, |
1432 | .timer_del = posix_cpu_timer_del, | 1434 | .timer_del = posix_cpu_timer_del, |
1433 | .timer_get = posix_cpu_timer_get, | 1435 | .timer_get = posix_cpu_timer_get, |
1436 | .timer_rearm = posix_cpu_timer_rearm, | ||
1434 | }; | 1437 | }; |
1435 | 1438 | ||
1436 | const struct k_clock clock_process = { | 1439 | const struct k_clock clock_process = { |