Thursday, July 5, 2012

Leap Second and Linux Kernel

"Leap second" is extra second increments to ensure that the difference between a uniform time scale defined by atomic clocks does not differ from the Earth's rotational time by more than 0.9 seconds.

Network Time Protocol (NTP) uses UTC as base time, which itself is based on the Earth rotation. As the time taken by earth to complete one rotation is slowing down very gradually, and to adjust gap it requires a leap second to be inserted in the timescale at approximately eighteen month intervals.

The last leap second was added at 2008-12-31 23:59:59 UTC.  At that time, clocks keeping track of time based on UTC should have counted as follows:

2008-12-31 23:59:59 UTC
2008-12-31 23:59:60 UTC
2009-01-01 00:00:00 UTC

When this time leap second occured, hrtimer in Linux kernel went second head and alarmed all sleeping processes/applications to run which tends to CPU overloading.
This time leap second cripple Linux servers at airlines, Reddit, LinkedIn and many more.....

No comments:

Post a Comment