aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/tick-sched.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-10-17 03:59:47 -0400
committerThomas Gleixner <tglx@apollo.(none)>2008-10-17 12:13:38 -0400
commit719254faa17ffedc87ba0fadb9b34e535c9758d5 (patch)
tree6afe1e9f2175aa5394cf6e0fc7c84afef0be3e9b /kernel/time/tick-sched.c
parent2e532d68a2b3e2aa6b19731501222069735c741c (diff)
NOHZ: unify the nohz function calls in irq_enter()
We have two separate nohz function calls in irq_enter() for no good reason. Just call a single NOHZ function from irq_enter() and call the bits in the tick code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time/tick-sched.c')
-rw-r--r--kernel/time/tick-sched.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index b711ffcb106c..fdcf3f93bb8d 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -155,7 +155,7 @@ void tick_nohz_update_jiffies(void)
155 touch_softlockup_watchdog(); 155 touch_softlockup_watchdog();
156} 156}
157 157
158void tick_nohz_stop_idle(int cpu) 158static void tick_nohz_stop_idle(int cpu)
159{ 159{
160 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); 160 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
161 161
@@ -559,6 +559,17 @@ static inline void tick_nohz_switch_to_nohz(void) { }
559#endif /* NO_HZ */ 559#endif /* NO_HZ */
560 560
561/* 561/*
562 * Called from irq_enter to notify about the possible interruption of idle()
563 */
564void tick_check_idle(int cpu)
565{
566#ifdef CONFIG_NO_HZ
567 tick_nohz_stop_idle(cpu);
568 tick_nohz_update_jiffies();
569#endif
570}
571
572/*
562 * High resolution timer specific code 573 * High resolution timer specific code
563 */ 574 */
564#ifdef CONFIG_HIGH_RES_TIMERS 575#ifdef CONFIG_HIGH_RES_TIMERS