]> err.no Git - linux-2.6/commitdiff
x86: fix sched_clock()
authorIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:40 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:40 +0000 (13:32 +0100)
[ andi@firstfloor.org: build fix ]

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/rtc.c
include/asm-x86/msr.h
include/asm-x86/tsc.h

index 276cb7073ab164100af6e3c8e828490d4cd41c3f..eb9b1a198f5eb327e64929be6de97ef7cc647c34 100644 (file)
@@ -196,14 +196,9 @@ int update_persistent_clock(struct timespec now)
        return set_rtc_mmss(now.tv_sec);
 }
 
-unsigned long long __vsyscall_fn native_read_tsc(void)
+unsigned long long native_read_tsc(void)
 {
-       DECLARE_ARGS(val, low, high);
-
-       rdtsc_barrier();
-       asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
-       rdtsc_barrier();
-
-       return EAX_EDX_VAL(val, low, high);
+       return __native_read_tsc();
 }
-EXPORT_SYMBOL_GPL(native_read_tsc);
+EXPORT_SYMBOL(native_read_tsc);
+
index decfec4ab17c8c9d8c94ffe05bd7283f63e19139..204a8a30fecf8e9669aae32b6f6db83852cb694b 100644 (file)
@@ -93,6 +93,17 @@ static inline int native_write_msr_safe(unsigned int msr,
 
 extern unsigned long long native_read_tsc(void);
 
+static __always_inline unsigned long long __native_read_tsc(void)
+{
+       DECLARE_ARGS(val, low, high);
+
+       rdtsc_barrier();
+       asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
+       rdtsc_barrier();
+
+       return EAX_EDX_VAL(val, low, high);
+}
+
 static inline unsigned long long native_read_pmc(int counter)
 {
        DECLARE_ARGS(val, low, high);
index f51a50da35aac186341211ba9b754df6ad38229f..071e0ce5b664dd9ae428b056860b020f1b39eb15 100644 (file)
@@ -46,7 +46,7 @@ static inline cycles_t vget_cycles(void)
        if (!cpu_has_tsc)
                return 0;
 #endif
-       return (cycles_t) native_read_tsc();
+       return (cycles_t) __native_read_tsc();
 }
 
 extern void tsc_init(void);