time: ntp: refactor up ntp_update_frequency()
authorIngo Molnar <mingo@elte.hu>
Sun, 22 Feb 2009 11:17:36 +0000 (12:17 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 25 Feb 2009 17:38:10 +0000 (18:38 +0100)
Impact: cleanup, no functionality changed

Change ntp_update_frequency() from a hard to follow code
flow that uses global variables as temporaries, to a clean
input+output flow.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/time/ntp.c

index 7d281d9..f1abad7 100644 (file)
@@ -83,10 +83,8 @@ static long                  ntp_tick_adj;
  */
 static void ntp_update_frequency(void)
 {
-       u64 prev_base;
        u64 second_length;
-
-       prev_base = tick_length_base;
+       u64 new_base;
 
        second_length            = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ)
                                                << NTP_SCALE_SHIFT;
@@ -94,16 +92,15 @@ static void ntp_update_frequency(void)
        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);
+       new_base                 = div_u64(second_length, NTP_INTERVAL_FREQ);
 
        /*
         * 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 - prev_base;
+       tick_length             += new_base - tick_length_base;
+       tick_length_base         = new_base;
 }
 
 static void ntp_update_offset(long offset)