time: Move do_timer() to kernel/time/timekeeping.c
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>
This commit is contained in:
parent
70d1f36556
commit
871cf1e5f2
|
@ -166,7 +166,6 @@ extern void monotonic_to_bootbased(struct timespec *ts);
|
||||||
extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
|
extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
|
||||||
extern int timekeeping_valid_for_hres(void);
|
extern int timekeeping_valid_for_hres(void);
|
||||||
extern u64 timekeeping_max_deferment(void);
|
extern u64 timekeeping_max_deferment(void);
|
||||||
extern void update_wall_time(void);
|
|
||||||
extern void timekeeping_leap_insert(int leapsecond);
|
extern void timekeeping_leap_insert(int leapsecond);
|
||||||
|
|
||||||
struct tms;
|
struct tms;
|
||||||
|
|
|
@ -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.
|
* 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;
|
struct clocksource *clock;
|
||||||
cycle_t offset;
|
cycle_t offset;
|
||||||
|
@ -946,3 +946,15 @@ struct timespec get_monotonic_coarse(void)
|
||||||
now.tv_nsec + mono.tv_nsec);
|
now.tv_nsec + mono.tv_nsec);
|
||||||
return now;
|
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);
|
||||||
|
}
|
||||||
|
|
|
@ -1293,19 +1293,6 @@ void run_local_timers(void)
|
||||||
raise_softirq(TIMER_SOFTIRQ);
|
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
|
#ifdef __ARCH_WANT_SYS_ALARM
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue