Commit 92767af0e3904b4d35ed547fb514ff6cb227e678
1 parent
6d63de8dbc
Exists in
master
and in
7 other branches
x86: fix sched_clock()
[ andi@firstfloor.org: build fix ] Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Showing 3 changed files with 16 additions and 10 deletions Side-by-side Diff
arch/x86/kernel/rtc.c
... | ... | @@ -196,15 +196,9 @@ |
196 | 196 | return set_rtc_mmss(now.tv_sec); |
197 | 197 | } |
198 | 198 | |
199 | -unsigned long long __vsyscall_fn native_read_tsc(void) | |
199 | +unsigned long long native_read_tsc(void) | |
200 | 200 | { |
201 | - DECLARE_ARGS(val, low, high); | |
202 | - | |
203 | - rdtsc_barrier(); | |
204 | - asm volatile("rdtsc" : EAX_EDX_RET(val, low, high)); | |
205 | - rdtsc_barrier(); | |
206 | - | |
207 | - return EAX_EDX_VAL(val, low, high); | |
201 | + return __native_read_tsc(); | |
208 | 202 | } |
209 | -EXPORT_SYMBOL_GPL(native_read_tsc); | |
203 | +EXPORT_SYMBOL(native_read_tsc); |
include/asm-x86/msr.h
... | ... | @@ -93,6 +93,17 @@ |
93 | 93 | |
94 | 94 | extern unsigned long long native_read_tsc(void); |
95 | 95 | |
96 | +static __always_inline unsigned long long __native_read_tsc(void) | |
97 | +{ | |
98 | + DECLARE_ARGS(val, low, high); | |
99 | + | |
100 | + rdtsc_barrier(); | |
101 | + asm volatile("rdtsc" : EAX_EDX_RET(val, low, high)); | |
102 | + rdtsc_barrier(); | |
103 | + | |
104 | + return EAX_EDX_VAL(val, low, high); | |
105 | +} | |
106 | + | |
96 | 107 | static inline unsigned long long native_read_pmc(int counter) |
97 | 108 | { |
98 | 109 | DECLARE_ARGS(val, low, high); |