All,
This patch simplifies and cleans up the adjtime code in ntp_advance and
corrects a comment.
Any comments or feedback would be greatly appreciated.
thanks
-john
linux-2.6.13-rc6_timeofday-ntp-part12_B5.patch
============================================
diff --git a/kernel/ntp.c b/kernel/ntp.c
--- a/kernel/ntp.c
+++ b/kernel/ntp.c
@@ -156,29 +156,25 @@ void ntp_advance(unsigned long interval_
shifted_ppm_sum += ss_adj << SHIFT_USEC;
- if ( (time_adjust_step = ntp_adjtime_offset) != 0 ) {
- /* We are doing an adjtime thing.
- *
- * Prepare time_adjust_step to be within bounds.
- * Note that a positive ntp_adjtime_offset means we want the clock
- * to run faster.
- *
- * Limit the amount of the step to be in the range
- * -tickadj .. +tickadj
- */
- if (ntp_adjtime_offset > tickadj)
- time_adjust_step = tickadj;
- else if (ntp_adjtime_offset < -tickadj)
- time_adjust_step = -tickadj;
+ /* Calculate the fixed tick adjustment */
+ fixed_tick_ns_adj = 0;
- /* Reduce by this step the amount of time left */
- ntp_adjtime_offset -= time_adjust_step;
+ /* If we are doing an adjtime thing */
+ if (ntp_adjtime_offset) {
+ long adjust_step = ntp_adjtime_offset;
+ /* Limit the amount of the step to be in the range
+ * -tickadj .. +tickadj
+ */
+ adjust_step = min_t(long, tickadj, adjust_step);
+ adjust_step = max_t(long, -tickadj, adjust_step);
+ /* Reduce by this step the amount of time left */
+ ntp_adjtime_offset -= adjust_step;
+ fixed_tick_ns_adj += adjust_step * 1000;
}
- fixed_tick_ns_adj = time_adjust_step * 1000;
/*
- * Advance the phase, once it gets to one microsecond, then
- * advance the tick more.
+ * Advance the phase, once it gets to one nanosecond,
+ * then advance the fixed_tick_ns_adj.
*/
time_phase += time_adj;
if (time_phase <= -FINENSEC) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|