time: ntp: clean up ntp_update_frequency()

Impact: cleanup, no functionality changed

Prepare a refactoring of ntp_update_frequency().

kernel/time/ntp.o:

   text	   data	    bss	    dec	    hex	filename
   2504	    114	    136	   2754	    ac2	ntp.o.before
   2504	    114	    136	   2754	    ac2	ntp.o.after

md5:
   41f3009debc9b397d7394dd77d912f0a  ntp.o.before.asm
   41f3009debc9b397d7394dd77d912f0a  ntp.o.after.asm

Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Ingo Molnar 2009-02-22 12:42:59 +01:00
parent bbd1267690
commit 9ce616aaef

View file

@ -77,24 +77,33 @@ static long ntp_tick_adj;
* NTP methods: * NTP methods:
*/ */
/*
* Update (tick_length, tick_length_base, tick_nsec), based
* on (tick_usec, ntp_tick_adj, time_freq):
*/
static void ntp_update_frequency(void) static void ntp_update_frequency(void)
{ {
u64 old_tick_length_base = tick_length_base; u64 prev_base;
u64 second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ) u64 second_length;
<< NTP_SCALE_SHIFT;
second_length += (s64)ntp_tick_adj << NTP_SCALE_SHIFT;
second_length += time_freq;
tick_length_base = second_length; prev_base = tick_length_base;
tick_nsec = div_u64(second_length, HZ) >> NTP_SCALE_SHIFT; second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ)
tick_length_base = div_u64(tick_length_base, NTP_INTERVAL_FREQ); << NTP_SCALE_SHIFT;
second_length += (s64)ntp_tick_adj << NTP_SCALE_SHIFT;
second_length += time_freq;
tick_length_base = second_length;
tick_nsec = div_u64(second_length, HZ) >> NTP_SCALE_SHIFT;
tick_length_base = div_u64(tick_length_base, NTP_INTERVAL_FREQ);
/* /*
* Don't wait for the next second_overflow, apply * Don't wait for the next second_overflow, apply
* the change to the tick length immediately * the change to the tick length immediately
*/ */
tick_length += tick_length_base - old_tick_length_base; tick_length += tick_length_base - prev_base;
} }
static void ntp_update_offset(long offset) static void ntp_update_offset(long offset)