[RFC] Use jiffies_64 in sched_clock()
From: Alexey Dobriyan
Date: Fri Dec 29 2006 - 10:46:08 EST
Would it make sense to always use jiffies_64 instead of jiffies?
(module hardware specific version)
This is what FRV, UML, one ia64 version, one i386 version do.
Also substract initial jiffies.
Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxxx>
---
arch/frv/kernel/time.c | 8 --------
arch/um/kernel/time.c | 8 --------
kernel/sched.c | 3 ++-
3 files changed, 2 insertions(+), 17 deletions(-)
--- a/arch/frv/kernel/time.c
+++ b/arch/frv/kernel/time.c
@@ -139,11 +139,3 @@ void time_init(void)
time_divisor_init();
}
-
-/*
- * Scheduler clock - returns current time in nanosec units.
- */
-unsigned long long sched_clock(void)
-{
- return jiffies_64 * (1000000000 / HZ);
-}
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -27,14 +27,6 @@ int hz(void)
return(HZ);
}
-/*
- * Scheduler clock - returns current time in nanosec units.
- */
-unsigned long long sched_clock(void)
-{
- return (unsigned long long)jiffies_64 * (1000000000 / HZ);
-}
-
static unsigned long long prev_nsecs;
#ifdef CONFIG_UML_REAL_TIME_CLOCK
static long long delta; /* Deviation per interval */
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -64,7 +64,8 @@ #include <asm/unistd.h>
*/
unsigned long long __attribute__((weak)) sched_clock(void)
{
- return (unsigned long long)jiffies * (1000000000 / HZ);
+ /* No locking but a rare wrong value is not a big deal. */
+ return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ);
}
/*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/