Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
timecounter TSC on Core i7
Hi,
I have a problem with NetBSD picking timecounter TSC as the primary time
source on a Core i7-920 system.
The dmesg shows that the frequency is sometimes detected as 2.6GHz (very
rarely), while most of the time it's 3.7GHz (see diff below). I'm
assuming this is due to whether or not Turbo Boost happens to be in
effect when the kernel boots. Nevertheless, the kernel assigns q=3000 to
TSC and in most cases (when it detects 3.7GHz) the system clock runs
very very slowly (compared to wall time).
There is some complicated code in sys/arch/x86/x86/tsc.c to try and
decide whether TSC can be used reliably, but in my case it seems to get
it wrong.
I've been running with "sysctl -w kern.timecounter.hardware=hpet0"
(q=2000) for a while now and it's behaving much better than before. I
think this should probably be the default for Core i7 systems if this
isn't supposed to become an FAQ :-)
Best regards,
Joachim
--- ./dmesg.accurateclock 2009-09-08 16:20:59.000000000 +0100
+++ ./dmesg.clockslow 2009-09-07 09:49:39.000000000 +0100
@@ -12,14 +12,14 @@
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
System manufacturer System Product Name (System Version)
mainbus0 (root)
-cpu0 at mainbus0 apid 0: Intel 686-class, 2672MHz, id 0x106a5
-cpu1 at mainbus0 apid 2: Intel 686-class, 2672MHz, id 0x106a5
-cpu2 at mainbus0 apid 4: Intel 686-class, 2672MHz, id 0x106a5
-cpu3 at mainbus0 apid 6: Intel 686-class, 2672MHz, id 0x106a5
-cpu4 at mainbus0 apid 1: Intel 686-class, 2672MHz, id 0x106a5
-cpu5 at mainbus0 apid 3: Intel 686-class, 2672MHz, id 0x106a5
-cpu6 at mainbus0 apid 5: Intel 686-class, 2672MHz, id 0x106a5
-cpu7 at mainbus0 apid 7: Intel 686-class, 2672MHz, id 0x106a5
+cpu0 at mainbus0 apid 0: Intel 686-class, 3741MHz, id 0x106a5
+cpu1 at mainbus0 apid 2: Intel 686-class, 3741MHz, id 0x106a5
+cpu2 at mainbus0 apid 4: Intel 686-class, 3741MHz, id 0x106a5
+cpu3 at mainbus0 apid 6: Intel 686-class, 3741MHz, id 0x106a5
+cpu4 at mainbus0 apid 1: Intel 686-class, 3741MHz, id 0x106a5
+cpu5 at mainbus0 apid 3: Intel 686-class, 3741MHz, id 0x106a5
+cpu6 at mainbus0 apid 5: Intel 686-class, 3741MHz, id 0x106a5
+cpu7 at mainbus0 apid 7: Intel 686-class, 3741MHz, id 0x106a5
ioapic0 at mainbus0 apid 8: pa 0xfec00000, version 20, 24 pins
ioapic1 at mainbus0 apid 9: pa 0xfec8a000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20090730
@@ -170,7 +170,7 @@
ieee1394if0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
ieee1394if0: bus manager 0 (me)
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
-timecounter: Timecounter "TSC" frequency 2672861800 Hz quality 3000
+timecounter: Timecounter "TSC" frequency 3741967920 Hz quality 3000
azalia0: codec[0]: ATI R600 HDMI (rev. 1.0), HDA rev. 1.0
audio0 at azalia0: full duplex, independent
azalia1: codec[0]: Realtek ALC888 (rev. 1.1), HDA rev. 1.0
Home |
Main Index |
Thread Index |
Old Index