Is the TSC timecounter safe on SMP system?
John Baldwin
jhb at FreeBSD.org
Fri Aug 13 10:26:39 PDT 2004
On Friday 13 August 2004 12:49 pm, Andrew Gallatin wrote:
> I have a system where the TSC timecounter is quite a bit more accurate
> (or perhaps its just much cheaper) than the ACPI timecounter. This is a
> single CPU, HTT system running an SMP kernel.
>
> A simple program which calls gettimeofday() in a tight loop, looking
> for the microseconds to change sees ~998,000 microsecond updates/sec
> with kern.timecounter.hardware=TSC, and 28,500 updates/sec with ACPI-safe.
>
> 1) Is it safe to switch to TSC?
>
> 2) If yes, would it be safe to switch to TSC if this was a real
> SMP system with multiple physical cpus?
Probably not. The problem is that the TSC is not necessarily in sync between
the CPUs so time would "jump around" as you migrated between CPUs. If you
can get the TSC's synchronized between the CPUs and keep them that way then
you can use the TSC (Linux does this FWIW).
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list