Messages in this thread | | | From | Richard Cochran <> | Subject | [PATCH RFC V2 0/6] Fix leap seconds and add tai clock | Date | Fri, 18 May 2012 16:09:52 +0200 |
| |
In honor of this summer's new leap second, this patch series aim to fix the incorrect time values reported during a leap second. This second version of the patch series does not change the core time keeping code, but rather affects only the adjtimex interface.
Of course, the POSIX UTC system is broken by design, and the Linux kernel cannot fix that. However, what we can do is correctly execute leap seconds and report the time variables (UTC time, TAI offset, and leap second status) with consistency.
Since commit 6b43ae8a, the leap second is applied on the first timer tick after the actual deadline, resulting in incorrect time values from gettimeofday and friends. In contrast to V1, this series does not address that issue but rather adds extra checks into the adjtimex code path, with the effect of always providing correct UTC time values, even during a leap second.
The first two patches merely clean up some cruft I noticed along the way while working on this series.
John Stultz (1): time: Add CLOCK_TAI clockid
Richard Cochran (5): time: remove obsolete declaration ntp: remove useless parameter time: keep track of the pending utc/tai threshold time: introduce leap second functional interface time: move leap second management into time keeping core
include/linux/time.h | 9 +- kernel/posix-timers.c | 10 ++ kernel/time/leap-seconds.h | 21 ++++ kernel/time/ntp.c | 90 ++++++------------ kernel/time/timekeeping.c | 228 ++++++++++++++++++++++++++++++++++++++++++-- 5 files changed, 283 insertions(+), 75 deletions(-) create mode 100644 kernel/time/leap-seconds.h
-- 1.7.2.5
| |