diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-02-16 04:28:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-16 11:13:59 -0500 |
commit | 741673473a5b26497d5390f38d478362e27e22ad (patch) | |
tree | abd18ef36980654d1382285c7e598dff3696a258 /arch/i386 | |
parent | d36b49b91065dbfa305c5a66010b3497c741eee0 (diff) |
[PATCH] i386 prepare for dyntick
Prepare i386 for dyntick: idle handler callbacks.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/process.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c index 7845d480c293..bea304d48cdb 100644 --- a/arch/i386/kernel/process.c +++ b/arch/i386/kernel/process.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/ptrace.h> | 38 | #include <linux/ptrace.h> |
39 | #include <linux/random.h> | 39 | #include <linux/random.h> |
40 | #include <linux/personality.h> | 40 | #include <linux/personality.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> |
@@ -211,6 +212,7 @@ void cpu_idle(void) | |||
211 | 212 | ||
212 | /* endless idle loop with no priority at all */ | 213 | /* endless idle loop with no priority at all */ |
213 | while (1) { | 214 | while (1) { |
215 | tick_nohz_stop_sched_tick(); | ||
214 | while (!need_resched()) { | 216 | while (!need_resched()) { |
215 | void (*idle)(void); | 217 | void (*idle)(void); |
216 | 218 | ||
@@ -238,6 +240,7 @@ void cpu_idle(void) | |||
238 | idle(); | 240 | idle(); |
239 | __exit_idle(); | 241 | __exit_idle(); |
240 | } | 242 | } |
243 | tick_nohz_restart_sched_tick(); | ||
241 | preempt_enable_no_resched(); | 244 | preempt_enable_no_resched(); |
242 | schedule(); | 245 | schedule(); |
243 | preempt_disable(); | 246 | preempt_disable(); |