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>
This commit is contained in:
Родитель
6d63de8dbc
Коммит
92767af0e3
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче