On Thu, Jul 07, 2011 at 07:39:05PM +1000, Aristedes Maniatis
wrote:> 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 delish.ish.com.au 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17
02:41:51 UTC 2011 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
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
Do you have anything like powerd(8) enabled, or EIST / Intel SpeedStep
technology enabled in your system BIOS? If so, can you try disabling
powerd and/or disabling EIST/SS?
Alternately, and this isn't to say FreeBSD doesn't have a problem, do
you have a replacement/spare motherboard you can try? There's always
the possibility that you have a bad crystal on the motherboard and a
replacement board would rule that out.
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |