summaryrefslogtreecommitdiff
path: root/kernel/time/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/timer.c')
-rw-r--r--kernel/time/timer.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 72c03e904b45..90a82deece45 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -151,10 +151,11 @@ static inline struct tvec_base *get_target_base(struct tvec_base *base,
static inline void __run_deferrable_timers(void)
{
- if (time_after_eq(jiffies, tvec_base_deferrable.timer_jiffies)) {
- if ((atomic_cmpxchg(&deferrable_pending, 1, 0) &&
- tick_do_timer_cpu == TICK_DO_TIMER_NONE) ||
- tick_do_timer_cpu == smp_processor_id())
+ if ((atomic_cmpxchg(&deferrable_pending, 1, 0) &&
+ tick_do_timer_cpu == TICK_DO_TIMER_NONE) ||
+ tick_do_timer_cpu == smp_processor_id()) {
+ if (time_after_eq(jiffies,
+ tvec_base_deferrable.timer_jiffies))
__run_timers(&tvec_base_deferrable);
}
}