Messages in this thread |  | | | Date | Mon, 5 Jan 2009 09:51:30 -0800 (PST) | | From | david@lang ... | | Subject | Re: Bug: Status/Summary of slashdot leap-second crash on new years 2008-2009 |
| |
On Mon, 5 Jan 2009, Linas Vepstas wrote:
>> Arguably the kernel's responsibility should be to keep track of the >> most fundamental representation of time possible for a machine (that's >> probably TAI) and it is a userspace responsibility to map from that >> value to other time standards including UTC, > > Yes, this really does seem like the right solution. > >> using control files >> which are updated as leap seconds are declared. > > Lets be clear on what "control files" means. This does > *NOT* mean some config file shipped by some distro > for some package. That would be a horrid solution. > People don't install updates, patches, etc. Distros > ship them late, or never, if the distro is old enough. > > A more appropriate solution would be to have > either the kernel or ntpd track the leap seconds > automatically. First, the ntp protocol already provides > the needed notification of a leap second to anyone > who cares about it (i.e. there is no point in getting a > Linux distro involved in this -- a distribution mechanism > already exists, and works *better* than having a distro > do it).
I disagree with this. NTP will only know about leap seconds if it was running and connected to a server that advertised the leap seconds during that month.
for example, if you installed a new server today, how would it ever know that there was a leap second a couple of days ago?
David Lang
> If the kernel needs to track leap seconds, it could do > so using a mechanism similar to the "random pool" > that is saved across reboots. Alternately, ntpd already > stores slew rates &etc. in files, and could track leap > seconds likewise. > >> Just so long as the >> existing behaviour of time() which doesn't recognise leap seconds >> is preserved. > > Well, 'man 2 time' is as clear as mud. It talks about leap seconds, > but I can't figure out what its saying. I rather > doubt that time() is doing what POSIX.1 seems to want > it to do (which is to ignore leap seconds?) > > The reason I'm guessing that time() is wrong, is because > it seems that POSIX wants time() to use TAI time, and > we don't have that handy anywhere (because we've lost > track of those leap seconds) > > --linas >
|  |