Skip to content

Commit

Permalink
time: Move do_timer() to kernel/time/timekeeping.c
Browse files Browse the repository at this point in the history
do_timer() is primary timekeeping related. calc_global_load() is
called from do_timer() as well, but that's more for historical
reasons.

[ tglx: Fixed up the calc_global_load() reject andmassaged changelog ]

Signed-off-by: Torben Hohn <torbenh@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: johnstul@us.ibm.com
Cc: yong.zhang0@gmail.com
Cc: hch@infradead.org
LKML-Reference: <20110127145855.23248.56933.stgit@localhost>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Torben Hohn authored and Thomas Gleixner committed Jan 31, 2011
1 parent 70d1f36 commit 871cf1e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 15 deletions.
1 change: 0 additions & 1 deletion include/linux/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
14 changes: 13 additions & 1 deletion kernel/time/timekeeping.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -946,3 +946,15 @@ 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();
calc_global_load(ticks);
}
13 changes: 0 additions & 13 deletions kernel/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1293,19 +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();
calc_global_load(ticks);
}

#ifdef __ARCH_WANT_SYS_ALARM

/*
Expand Down

0 comments on commit 871cf1e

Please sign in to comment.