system internal timer runs 10 times too slow

Aristedes Maniatis ari at
Thu Jul 7 09:51:01 UTC 2011

We upgraded an existing system to a new motherboard/CPU and found that timing in various programs is very odd. For example "top" only updates every 10 seconds instead of every second. And this confirms the oddness:

# while true; do echo `date`; sleep 1; done
Thu Jul 7 19:09:01 EST 2011
Thu Jul 7 19:09:11 EST 2011
Thu Jul 7 19:09:21 EST 2011

10 seconds instead of 1.

So I looked first at the kernel timers:

# dmesg | grep -i time
Timecounter "i8254" frequency 1193182 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
pci3: <multimedia, HDA> at device 0.1 (no driver attached)
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
Timecounters tick every 1.000 msec

I switched i8254 and then to HPET. No difference.

# sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: ACPI-fast -> i8254
# while true; do echo `date`; sleep 1; done
Thu Jul 7 19:09:40 EST 2011
Thu Jul 7 19:09:41 EST 2011

I switched to TSC:

# sysctl -w kern.timecounter.hardware=TSC
kern.timecounter.hardware: HPET -> TSC
# while true; do echo `date`; sleep 1; done
Thu Jul 7 19:25:56 EST 2011
Thu Jul 7 19:25:57 EST 2011
Thu Jul 7 19:25:58 EST 2011

Now this looks like it fixed the problem, but actually it is worse. Now the clock matches what you'd expect, but there is still 10 seconds in real time between those date entries. That is, now the system clock is running 10 times too slow as well.

# uname -a
FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011     root at  amd64

Base board information
Manufacturer: ASUSTeK Computer INC.
Product Name: P6X58D-E

BIOS information
Vendor: American Megatrends Inc.
Version: 0502
Release Date: 11/16/2010
BIOS Revision: 8.15

CPU Model:	Intel(R) Core(TM) i7 CPU         960  @ 3.20GHz

Thanks in advance for any help.


Aristedes Maniatis
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001   fax +61 2 9550 4001
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

More information about the freebsd-stable mailing list