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
					
				
			
		
					 3 changed files with 13 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue