All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/7] Simple Performance Counters: i386 support
@ 2007-07-31 23:25 Christoph Lameter
  0 siblings, 0 replies; only message in thread
From: Christoph Lameter @ 2007-07-31 23:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Christoph Lameter

Export a cycles_to_ns function

Signed-off-by: Christoph Lameter <clameter@sgi.com>
---
 arch/i386/kernel/tsc.c   |    2 +-
 include/asm-i386/timex.h |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/arch/i386/kernel/tsc.c b/arch/i386/kernel/tsc.c
index debd7db..c150ac0 100644
--- a/arch/i386/kernel/tsc.c
+++ b/arch/i386/kernel/tsc.c
@@ -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
diff --git a/include/asm-i386/timex.h b/include/asm-i386/timex.h
index 3666044..37b0338 100644
--- a/include/asm-i386/timex.h
+++ b/include/asm-i386/timex.h
@@ -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
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2007-07-31 23:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-31 23:25 [PATCH 3/7] Simple Performance Counters: i386 support Christoph Lameter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.