time: ntp: simplify the second_overflow() code flow
authorIngo Molnar <mingo@elte.hu>
Sun, 22 Feb 2009 11:06:57 +0000 (12:06 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 25 Feb 2009 17:38:07 +0000 (18:38 +0100)
Impact: cleanup, no functionality changed

Instead of a hierarchy of conditions, transform them to clean
gradual conditions and return's.

This makes the flow easier to read and makes the purpose of
the function easier to understand.

kernel/time/ntp.o:

   text    data     bss     dec     hex filename
   2552     170     168    2890     b4a ntp.o.before
   2552     170     168    2890     b4a ntp.o.after

md5:
   eae1275df0b7d6290c13f6f6f8f05c8c  ntp.o.before.asm
   eae1275df0b7d6290c13f6f6f8f05c8c  ntp.o.after.asm

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

index 3479ec48e604ad65f07a943a6af2fa7b83155123..1fa6615b317a0616619257bbf0e82c6b4dcce9b0 100644 (file)
@@ -232,19 +232,24 @@ void second_overflow(void)
        time_offset     -= time_adj;
        tick_length     += time_adj;
 
-       if (unlikely(time_adjust)) {
-               if (time_adjust > MAX_TICKADJ) {
-                       time_adjust -= MAX_TICKADJ;
-                       tick_length += MAX_TICKADJ_SCALED;
-               } else if (time_adjust < -MAX_TICKADJ) {
-                       time_adjust += MAX_TICKADJ;
-                       tick_length -= MAX_TICKADJ_SCALED;
-               } else {
-                       tick_length += (s64)(time_adjust * NSEC_PER_USEC /
-                                       NTP_INTERVAL_FREQ) << NTP_SCALE_SHIFT;
-                       time_adjust = 0;
-               }
+       if (!time_adjust)
+               return;
+
+       if (time_adjust > MAX_TICKADJ) {
+               time_adjust -= MAX_TICKADJ;
+               tick_length += MAX_TICKADJ_SCALED;
+               return;
        }
+
+       if (time_adjust < -MAX_TICKADJ) {
+               time_adjust += MAX_TICKADJ;
+               tick_length -= MAX_TICKADJ_SCALED;
+               return;
+       }
+
+       tick_length += (s64)(time_adjust * NSEC_PER_USEC / NTP_INTERVAL_FREQ)
+                                                        << NTP_SCALE_SHIFT;
+       time_adjust = 0;
 }
 
 #ifdef CONFIG_GENERIC_CMOS_UPDATE