diff options
author | Chris Wright <chrisw@sous-sol.org> | 2007-10-12 17:04:07 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-12 17:04:07 -0400 |
commit | 02290683343391a50f45599710295dafa2ddd018 (patch) | |
tree | 4db7593d48f60e3301dd85ca13379aeab818f98b /arch | |
parent | c4d58cbd158dc9b30c55c0e3881ae7c6b8843d5a (diff) |
x86_64: prepare idle loop for dynamic ticks
Add tick_nohz_{stop,restart}_sched_tick to idle loop in prepartion for turning
on dynticks. These are just noops until NO_HZ is enabled.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/process_64.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 98956555450b..6f9dbbe65eef 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/notifier.h> | 38 | #include <linux/notifier.h> |
39 | #include <linux/kprobes.h> | 39 | #include <linux/kprobes.h> |
40 | #include <linux/kdebug.h> | 40 | #include <linux/kdebug.h> |
41 | #include <linux/tick.h> | ||
41 | 42 | ||
42 | #include <asm/uaccess.h> | 43 | #include <asm/uaccess.h> |
43 | #include <asm/pgtable.h> | 44 | #include <asm/pgtable.h> |
@@ -208,6 +209,8 @@ void cpu_idle (void) | |||
208 | if (__get_cpu_var(cpu_idle_state)) | 209 | if (__get_cpu_var(cpu_idle_state)) |
209 | __get_cpu_var(cpu_idle_state) = 0; | 210 | __get_cpu_var(cpu_idle_state) = 0; |
210 | 211 | ||
212 | tick_nohz_stop_sched_tick(); | ||
213 | |||
211 | rmb(); | 214 | rmb(); |
212 | idle = pm_idle; | 215 | idle = pm_idle; |
213 | if (!idle) | 216 | if (!idle) |
@@ -228,6 +231,7 @@ void cpu_idle (void) | |||
228 | __exit_idle(); | 231 | __exit_idle(); |
229 | } | 232 | } |
230 | 233 | ||
234 | tick_nohz_restart_sched_tick(); | ||
231 | preempt_enable_no_resched(); | 235 | preempt_enable_no_resched(); |
232 | schedule(); | 236 | schedule(); |
233 | preempt_disable(); | 237 | preempt_disable(); |