aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2007-02-16 04:28:07 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-16 11:13:59 -0500
commit741673473a5b26497d5390f38d478362e27e22ad (patch)
treeabd18ef36980654d1382285c7e598dff3696a258 /arch/i386
parentd36b49b91065dbfa305c5a66010b3497c741eee0 (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.c3
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();