aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index 201bee07b8e0..6d843e100e75 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -591,7 +591,7 @@ static inline void __run_timers(tvec_base_t *base)
591 spin_unlock_irq(&base->lock); 591 spin_unlock_irq(&base->lock);
592} 592}
593 593
594#ifdef CONFIG_NO_IDLE_HZ 594#if defined(CONFIG_NO_IDLE_HZ) || defined(CONFIG_NO_HZ)
595/* 595/*
596 * Find out when the next timer event is due to happen. This 596 * Find out when the next timer event is due to happen. This
597 * is used on S/390 to stop all activity when a cpus is idle. 597 * is used on S/390 to stop all activity when a cpus is idle.
@@ -687,10 +687,10 @@ static unsigned long cmp_next_hrtimer_event(unsigned long now,
687/** 687/**
688 * next_timer_interrupt - return the jiffy of the next pending timer 688 * next_timer_interrupt - return the jiffy of the next pending timer
689 */ 689 */
690unsigned long next_timer_interrupt(void) 690unsigned long get_next_timer_interrupt(unsigned long now)
691{ 691{
692 tvec_base_t *base = __get_cpu_var(tvec_bases); 692 tvec_base_t *base = __get_cpu_var(tvec_bases);
693 unsigned long expires, now = jiffies; 693 unsigned long expires;
694 694
695 spin_lock(&base->lock); 695 spin_lock(&base->lock);
696 expires = __next_timer_interrupt(base); 696 expires = __next_timer_interrupt(base);
@@ -701,6 +701,14 @@ unsigned long next_timer_interrupt(void)
701 701
702 return cmp_next_hrtimer_event(now, expires); 702 return cmp_next_hrtimer_event(now, expires);
703} 703}
704
705#ifdef CONFIG_NO_IDLE_HZ
706unsigned long next_timer_interrupt(void)
707{
708 return get_next_timer_interrupt(jiffies);
709}
710#endif
711
704#endif 712#endif
705 713
706/******************************************************************/ 714/******************************************************************/