diff options
author | Zachary Amsden <zach@vmware.com> | 2007-02-13 07:26:21 -0500 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2007-02-13 07:26:21 -0500 |
commit | bbab4f3bb7f528d2b8ccb5de9ae5f6ff3fb29684 (patch) | |
tree | 141d035b9d79711e6679fadc31c9583f908dfedb /arch/i386/kernel/time.c | |
parent | 7ce0bcfd1667736f1293cff845139bbee53186de (diff) |
[PATCH] i386: vMI timer patches
VMI timer code. It works by taking over the local APIC clock when APIC is
configured, which requires a couple hooks into the APIC code. The backend
timer code could be commonized into the timer infrastructure, but there are
some pieces missing (stolen time, in particular), and the exact semantics of
when to do accounting for NO_IDLE need to be shared between different
hypervisors as well. So for now, VMI timer is a separate module.
[Adrian Bunk: cleanups]
Subject: VMI timer patches
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@suse.de>
Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Diffstat (limited to 'arch/i386/kernel/time.c')
-rw-r--r-- | arch/i386/kernel/time.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c index c505b16c0990..9603ccaba997 100644 --- a/arch/i386/kernel/time.c +++ b/arch/i386/kernel/time.c | |||
@@ -232,6 +232,7 @@ EXPORT_SYMBOL(get_cmos_time); | |||
232 | static void sync_cmos_clock(unsigned long dummy); | 232 | static void sync_cmos_clock(unsigned long dummy); |
233 | 233 | ||
234 | static DEFINE_TIMER(sync_cmos_timer, sync_cmos_clock, 0, 0); | 234 | static DEFINE_TIMER(sync_cmos_timer, sync_cmos_clock, 0, 0); |
235 | int no_sync_cmos_clock; | ||
235 | 236 | ||
236 | static void sync_cmos_clock(unsigned long dummy) | 237 | static void sync_cmos_clock(unsigned long dummy) |
237 | { | 238 | { |
@@ -275,7 +276,8 @@ static void sync_cmos_clock(unsigned long dummy) | |||
275 | 276 | ||
276 | void notify_arch_cmos_timer(void) | 277 | void notify_arch_cmos_timer(void) |
277 | { | 278 | { |
278 | mod_timer(&sync_cmos_timer, jiffies + 1); | 279 | if (!no_sync_cmos_clock) |
280 | mod_timer(&sync_cmos_timer, jiffies + 1); | ||
279 | } | 281 | } |
280 | 282 | ||
281 | static long clock_cmos_diff; | 283 | static long clock_cmos_diff; |