Skip to contentSkip to conversation

Simple Performance Counters: i386 support

PATCH In review Christoph Lameter 1 participant 1 message Jul 31, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 3/7 Simple Performance Counters: i386 support

Export a cycles_to_ns function

---
 arch/i386/kernel/tsc.c   |    2 +-
 include/asm-i386/timex.h |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletions(-)
arch/i386/kernel/tsc.c +1 -1
index debd7db..c150ac0 100644
@@ -118,7 +118,7 @@ unsigned long long native_sched_clock(void)
 	rdtscll(this_offset);
 
 	/* return the value in ns */
-	return cycles_2_ns(this_offset);
+	return cycles_to_ns(this_offset);
 }
 
 /* We need to define a real function for sched_clock, to override the
include/asm-i386/timex.h +8 -0
index 3666044..37b0338 100644
@@ -19,4 +19,12 @@
 extern int read_current_timer(unsigned long *timer_value);
 #define ARCH_HAS_READ_CURRENT_TIMER	1
 
+extern long cyc2ns_scale;
+#define CYC2NS_SCALE_FACTOR 10 /* 2^10, carefully chosen */
+
+static inline unsigned long long cycles_to_ns(unsigned long long cyc)
+{
+	return (cyc * cyc2ns_scale) >> CYC2NS_SCALE_FACTOR;
+}
+
 #endif
Signature · 1 line
1.5.2.4