[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110127145855.23248.56933.stgit@localhost>
Date: Thu, 27 Jan 2011 15:58:55 +0100
From: Torben Hohn <torbenh@....de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Peter Zijlstra <peterz@...radead.org>, johnstul@...ibm.com,
Thomas Gleixner <tglx@...utronix.de>, yong.zhang0@...il.com,
hch@...radead.org
Subject: [PATCH v2 01/20] move do_timer() from kernel/timer.c into
kernel/time/timekeeping.c
this allows us to make update_wall_time() static.
do_timer only updates the jiffies_64 value, and calls update_walltime
these actions are all residing in kernel/time, and require holding
a writelock on xtime_lock.
one goal of this patchset is to make xtime_lock local to kernel/time.
thats why we are moving things.
Signed-off-by: Torben Hohn <torbenh@....de>
---
include/linux/time.h | 1 -
kernel/time/timekeeping.c | 13 ++++++++++++-
kernel/timer.c | 12 ------------
3 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/include/linux/time.h b/include/linux/time.h
index 1e6d3b5..86a9c48 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -166,7 +166,6 @@ extern void monotonic_to_bootbased(struct timespec *ts);
extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
extern int timekeeping_valid_for_hres(void);
extern u64 timekeeping_max_deferment(void);
-extern void update_wall_time(void);
extern void timekeeping_leap_insert(int leapsecond);
struct tms;
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index d27c756..e4fd957 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -779,7 +779,7 @@ static cycle_t logarithmic_accumulation(cycle_t offset, int shift)
*
* Called from the timer interrupt, must hold a write on xtime_lock.
*/
-void update_wall_time(void)
+static void update_wall_time(void)
{
struct clocksource *clock;
cycle_t offset;
@@ -946,3 +946,14 @@ struct timespec get_monotonic_coarse(void)
now.tv_nsec + mono.tv_nsec);
return now;
}
+
+/*
+ * The 64-bit jiffies value is not atomic - you MUST NOT read it
+ * without sampling the sequence number in xtime_lock.
+ * jiffies is defined in the linker script...
+ */
+void do_timer(unsigned long ticks)
+{
+ jiffies_64 += ticks;
+ update_wall_time();
+}
diff --git a/kernel/timer.c b/kernel/timer.c
index afdc13b..87f656c 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -1293,18 +1293,6 @@ void run_local_timers(void)
raise_softirq(TIMER_SOFTIRQ);
}
-/*
- * The 64-bit jiffies value is not atomic - you MUST NOT read it
- * without sampling the sequence number in xtime_lock.
- * jiffies is defined in the linker script...
- */
-
-void do_timer(unsigned long ticks)
-{
- jiffies_64 += ticks;
- update_wall_time();
-}
-
#ifdef __ARCH_WANT_SYS_ALARM
/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists