Kernel clock issue "Clocksource tsc unstable"
Rashkae
ubuntu at tigershaunt.com
Fri Feb 27 20:39:21 UTC 2009
Ray Parrish wrote:
> Hello,
>
> Sorry to butt in here, but I also receive the error messages about
> clocksource tsc being unstable. I ran the command for available
> clocksources and got the following output. "acpi_pm pit jiffies tsc" My
> system switches to acpi_pm after the error message, but I would like to
> read about the other available clocksource files before making a
> decision on which to try to use from the menu.lst file.
Sorry, this is really deep magic stuff where mortals were really never
meant to thread. You practically have to dig through the kernel source
to find any scraps of useful information. I just got a crash course
about 6 months ago when I was trying to solve a clock drift issue. I'll
try to provide the cliff notes, but keep in mind, this is just my
understanding of things and I might be wrong about a fact or 2.
acpi_pm is the one I know least about, other than it works on my
computer, seems to be the standard default on recent hardware and it's
accurate.
pit - Programmable interrupt Timer, is the classic standard timer chip
that was at one time required on all 386 (and maybe all XT) class
hardware. In essence, the kernel can program it to tic at a given
interval, and software counts the tics (from CPU interrupts) to keep
track of time.
hpet - An intel and Microsoft joint standard, stands for high precision
event timer, was supposed to be a replacement for pit. According to
some kernel development noise I hear, it does become a bottleneck in
modern multi-threaded systems if multiple processes try to access the
timer.
jiffies - This is 'hardwareless' timer. The software keeps track of
time on it's own based on cpu clock cycles. Probably not good for
system performance, and I doubt it's accurate. My understanding is that
jiffies was never actually meant to be used.
tsc - I forget what the letters stand for.. tsc is part of your actual
CPU. I don't know what tsc was really meant for when designed, but it's
a poor choice for timer when time accuracy is important, because, well,
it's simply not accurate. When my system was using tsc, I would notice
time drift of almost 1 minute every hour. This seems to be considered
'ok' by people because you can just configure your computer to adjust
clock daily with ntp. Asside from the problem that tsc time will drift
depending on your system load, if you have a multi-core system, tsc will
drift from itself on different cores. Some multi-core cpu's will
synchronize tsc (I think the Intel Core 2 series, for example, but don't
quote me),, whereas other CPU's will lead to tsc being unstable and the
system switching to something else. (although, this should all happen
automagically, a system throwing a hairball over it should be considered
a bug.)
More information about the ubuntu-users
mailing list