summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2007-02-16 12:28:07 +0300
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-16 19:13:59 +0300
commit741673473a5b26497d5390f38d478362e27e22ad (patch)
treeabd18ef36980654d1382285c7e598dff3696a258
parentd36b49b91065dbfa305c5a66010b3497c741eee0 (diff)
downloadlinux-741673473a5b26497d5390f38d478362e27e22ad.tar.xz
[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>
-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 @@
#include <linux/ptrace.h>
#include <linux/random.h>
#include <linux/personality.h>
+#include <linux/tick.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
@@ -211,6 +212,7 @@ void cpu_idle(void)
/* endless idle loop with no priority at all */
while (1) {
+ tick_nohz_stop_sched_tick();
while (!need_resched()) {
void (*idle)(void);
@@ -238,6 +240,7 @@ void cpu_idle(void)
idle();
__exit_idle();
}
+ tick_nohz_restart_sched_tick();
preempt_enable_no_resched();
schedule();
preempt_disable();