Skip to content

Commit

Permalink
x86: fix sched_clock()
Browse files Browse the repository at this point in the history
[ andi@firstfloor.org: build fix ]

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Ingo Molnar committed Jan 30, 2008
1 parent 6d63de8 commit 92767af
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
13 changes: 4 additions & 9 deletions arch/x86/kernel/rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

11 changes: 11 additions & 0 deletions include/asm-x86/msr.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion include/asm-x86/tsc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 92767af

Please sign in to comment.