[patch -mm 27/28] x86_64: prep idle loop for dynticks

Thomas Gleixner
2007-06-23T13:30:48Z

[-- Attachment #1: x86-64-prepare-idle-for-dyntick.patch --]
[-- Type: text/plain, Size: 1282 bytes --]

From: Chris Wright <chrisw@sous-sol.org>

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 in next patch.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andi Kleen <ak@suse.de>

---
arch/x86_64/kernel/process.c | 4 ++++
1 file changed, 4 insertions(+)

Index: linux-2.6.22-rc4-mm/arch/x86_64/kernel/process.c
===================================================================
--- linux-2.6.22-rc4-mm.orig/arch/x86_64/kernel/process.c 2007-06-23 14:38:54.000000000 +0200
+++ linux-2.6.22-rc4-mm/arch/x86_64/kernel/process.c 2007-06-23 14:39:00.000000000 +0200
@@ -37,6 +37,7 @@
#include <linux/notifier.h>
#include <linux/kprobes.h>
#include <linux/kdebug.h>
+#include <linux/tick.h>

#include <asm/uaccess.h>
#include <asm/pgtable.h>
@@ -207,6 +208,8 @@ void cpu_idle (void)
if (__get_cpu_var(cpu_idle_state))
__get_cpu_var(cpu_idle_state) = 0;

+ tick_nohz_stop_sched_tick();
+
check_pgt_cache();
rmb();
idle = pm_idle;
@@ -228,6 +231,7 @@ void cpu_idle (void)
__exit_idle();
}

+ tick_nohz_restart_sched_tick();
preempt_enable_no_resched();
schedule();
preempt_disable();

--