[LEAPSECS] Good description of Linux kernel bugs related to leap seconds

Poul-Henning Kamp phk at phk.freebsd.dk
Tue Jul 3 02:24:06 EDT 2012

In message <20120703025359.41578800039 at ip-64-139-1-69.sjc.megapath.net>, Hal Mu
rray writes:

>>From Steven Bellovin, on NANOG:

> See http://landslidecoding.blogspot.com/2012/07/linuxs-leap-second-deadlocks.html


When we started out adding SMP support to FreeBSD, the first thing we did
was to import BSDI's "Witness" subsystem, which is a runtime facility that
keeps track of and warns about lock-order reversals.

If you accidentally introduce a lock-order reversal, witness will detect
it at runtime and tell you, even if you didn't hit the deadlock this time.

If Linux had taken our, many times repeated, advice and imported Witness
they would at least have avoided bug 1, 2 & 3.

>The 4th bug explains the CPU load spikes. A kernel bug broke futex-es. They

>are typically used in spin-lock like loops from user code.

Not really "spin-locks", I belive it is the kernel the basis for
the pthread mutex in Linux.

>The 5th bug is still a mystery.

No, not really: It's because time doesn't advance a full second for
a full seconds.

Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

More information about the LEAPSECS mailing list