mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [-mm PATCH] time: reduced ntp rework part 2 - remove duplicate leapsecond code
@ 2006-03-04  3:58 john stultz
  2006-03-04  4:02 ` [-mm PATCH] time: i386 conversion part 3 - lock jiffies_64 manipulation john stultz
  0 siblings, 1 reply; 3+ messages in thread
From: john stultz @ 2006-03-04  3:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml

Hey Andrew,
	Just wanted to sync up with you before I do a B20 release of the TOD
code. 

The reduced ntp rework patch part 2 adds a new ntp_leapsecond() which
should replace the existing leapsecond processing. However somehow the
chunk which removes the old code got dropped. Probably my fault.

Without this patch, its possible the leapsecond TIME_OOP state would not
be set for the second following a insertion.

thanks
-john


Index: mmmerge/kernel/timer.c
===================================================================
--- mmmerge.orig/kernel/timer.c
+++ mmmerge/kernel/timer.c
@@ -694,58 +694,6 @@ static void second_overflow(void)
 	}
 
 	/*
-	 * Leap second processing. If in leap-insert state at the end of the
-	 * day, the system clock is set back one second; if in leap-delete
-	 * state, the system clock is set ahead one second. The microtime()
-	 * routine or external clock driver will insure that reported time is
-	 * always monotonic. The ugly divides should be replaced.
-	 */
-	switch (time_state) {
-	case TIME_OK:
-		if (time_status & STA_INS)
-			time_state = TIME_INS;
-		else if (time_status & STA_DEL)
-			time_state = TIME_DEL;
-		break;
-	case TIME_INS:
-		if (xtime.tv_sec % 86400 == 0) {
-			xtime.tv_sec--;
-			wall_to_monotonic.tv_sec++;
-			/*
-			 * The timer interpolator will make time change
-			 * gradually instead of an immediate jump by one second
-			 */
-			time_interpolator_update(-NSEC_PER_SEC);
-			time_state = TIME_OOP;
-			clock_was_set();
-			printk(KERN_NOTICE "Clock: inserting leap second "
-					"23:59:60 UTC\n");
-		}
-		break;
-	case TIME_DEL:
-		if ((xtime.tv_sec + 1) % 86400 == 0) {
-			xtime.tv_sec++;
-			wall_to_monotonic.tv_sec--;
-			/*
-			 * Use of time interpolator for a gradual change of
-			 * time
-			 */
-			time_interpolator_update(NSEC_PER_SEC);
-			time_state = TIME_WAIT;
-			clock_was_set();
-			printk(KERN_NOTICE "Clock: deleting leap second "
-					"23:59:59 UTC\n");
-		}
-		break;
-	case TIME_OOP:
-		time_state = TIME_WAIT;
-		break;
-	case TIME_WAIT:
-		if (!(time_status & (STA_INS | STA_DEL)))
-		time_state = TIME_OK;
-	}
-
-	/*
 	 * Compute the phase adjustment for the next second. In PLL mode, the
 	 * offset is reduced by a fixed factor times the time constant. In FLL
 	 * mode the offset is used directly. In either mode, the maximum phase





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-03-04  4:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-04  3:58 [-mm PATCH] time: reduced ntp rework part 2 - remove duplicate leapsecond code john stultz
2006-03-04  4:02 ` [-mm PATCH] time: i386 conversion part 3 - lock jiffies_64 manipulation john stultz
2006-03-04  4:10   ` [-mm PATCH] time: i386 clocksource drivers - drop acpi_pm_buggy paranoia john stultz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®