git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
arch
/
x86_64
/
lib
/
delay.c
diff --git
a/arch/x86_64/lib/delay.c
b/arch/x86_64/lib/delay.c
index
6e2d664
..
03c460c
100644
(file)
--- a/
arch/x86_64/lib/delay.c
+++ b/
arch/x86_64/lib/delay.c
@@
-12,12
+12,17
@@
#include <linux/sched.h>
#include <linux/delay.h>
#include <asm/delay.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <asm/delay.h>
+#include <asm/msr.h>
#ifdef CONFIG_SMP
#include <asm/smp.h>
#endif
#ifdef CONFIG_SMP
#include <asm/smp.h>
#endif
-int x86_udelay_tsc = 0; /* Delay via TSC */
+int read_current_timer(unsigned long *timer_value)
+{
+ rdtscll(*timer_value);
+ return 0;
+}
void __delay(unsigned long loops)
{
void __delay(unsigned long loops)
{
@@
-34,7
+39,7
@@
void __delay(unsigned long loops)
inline void __const_udelay(unsigned long xloops)
{
inline void __const_udelay(unsigned long xloops)
{
- __delay((
(xloops * cpu_data[_smp_processor_id()].loops_per_jiffy) >> 32) * HZ
);
+ __delay((
xloops * HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy) >> 32
);
}
void __udelay(unsigned long usecs)
}
void __udelay(unsigned long usecs)