Date: Tue, 9 Dec 2008 07:16:09 -0500 From: "Gabriel Lavoie" <glavoie@gmail.com> To: "Ian Smith" <smithi@nimnet.asn.au> Cc: freebsd-questions@freebsd.org Subject: Re: Intel Pentium Dual Core E5200 and Enhanced Speedstep Message-ID: <d05df8620812090416i6f0e0f0cx3f0b042ff7eaeab1@mail.gmail.com> In-Reply-To: <20081209163440.J94168@sola.nimnet.asn.au> References: <20081209030117.BDE66106575E@hub.freebsd.org> <20081209163440.J94168@sola.nimnet.asn.au>
next in thread | previous in thread | raw e-mail | index | archive | help
2008/12/9 Ian Smith <smithi@nimnet.asn.au> > On Mon, 8 Dec 2008 13:37:09 -0500 Gabriel Lavoie <glavoie@gmail.com> > wrote: > > > I have a small problem/question about my Pentium Dual Core E5200. I > > have this system running as a server since 1 month and I just noticed > > that the CPU frequency may not be running at the highest speed. With > > my other computer that has a Core 2 Duo, I noticed that under Windows > > and Linux, the CPU frequency steps down at 2 GHz when the CPU is idle > > and increases at 2.66 GHz when the CPU is under load. With this > > FreeBSD Pentium Dual Core, I just noticed using sysctl that the > > frequency after booting the system is at 1.25 GHz and it doesn't go > > up automatically at 2.5 GHz under load. > > > > dev.cpu.0.freq: 1254 > > dev.cpu.0.freq_levels: 2508/-1 2194/-1 1881/-1 1567/-1 1254/-1 940/-1 > > 627/-1 313/-1 > > > > If I do "sysctl dev.cpu.0.freq=2508", the frequency gets changed: > > > > [root@headless /home/wildchild]# sysctl dev.cpu.0.freq=2508 > > dev.cpu.0.freq: 1254 -> 2508 > > [root@headless /home/wildchild]# sysctl -a | grep cpu.0.freq > > dev.cpu.0.freq: 2508 > > dev.cpu.0.freq_levels: 2508/-1 2194/-1 1881/-1 1567/-1 1254/-1 940/-1 > > 627/-1 313/-1 > > > > Why isn't the frequency isn't increased automatically under load? And > > why is it at 1.254 GHz after boot and not at the maximum frequency? > > It seems you are not running powerd, which is what monitors the load and > adjusts frequency. Add powerd_enable="YES" to rc.conf and either reboot > or just run '/etc/rc.d/powerd start' (or run powerd -v in a terminal to > verify that it's shifting freqs according to your load requirements) Will check about that. > > > Speculation on the second matter below .. > > > Another thing I noticed with "dmesg" is the following error (CPU > > supports Enhanced Speedstep, but is not recognized.): > > Which FreeBSD version? (uname -a) [wildchild@headless ~]$ uname -a FreeBSD headless.mutehq.net 7.0-RELEASE-p6 FreeBSD 7.0-RELEASE-p6 #0: Mon Nov 24 10:59:10 UTC 2008 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 > > > > cpu0: <ACPI CPU> on acpi0 > > ACPI Warning (tbutils-0243): Incorrect checksum in table [OEMB] - D, > > should be 8 [20070320] > > This looks ungood. You maybe should quote the earlier dmesgs re ACPI > too. This sounds like an issue to take to the acpi@freebsd.org list. Hum, about ACPI, if I remember well, there is a BIOS option to enable/disable ACPI 2 tables. I will take a look at that. > > > > est0: <Enhanced SpeedStep Frequency Control> on cpu0 > > est: CPU supports Enhanced Speedstep, but is not recognized. > > est: cpu_vendor GenuineIntel, msr 61a4c2006004c20 > > device_attach: est0 attach returned 6 > > 6 = fail. Either bad vendor ACPI (you've not mentioned what vendor or > model) or maybe an older FreeBSD version than would recognise your cpu > revision; you may need to run 7-STABLE or a 7.1 beta; dunno about 6.4. > > Either way, EST isn't functioning, or you'd have a larger range of freqs > available than these eight, and milliWatt figures instead of those -1. > There's no sign of 2.66GHz either, if that's expected? 2.66 GHz isn't expected, the CPU is an Intel Pentium Dual Core E5200 @ 2.5 GHz. It's one of the newest 45nm CPUs that were released in August 2008. The motherboard is an ASUS P5KPL-CM and the BIOS is updated to the latest version. > > > > p4tcc0: <CPU Frequency Thermal Control> on cpu0 > > p4tcc attached ok. That's what provides the 8 freqs you have, in 12.5% > steps from 8/8 downto 1/8 of the base freq. While this helps control > temperature it's not as effective as EST (which also modifies cpu core > voltage) for managing power use, so you need to locate that problem. > > > cpu1: <ACPI CPU> on acpi0 > > est1: <Enhanced SpeedStep Frequency Control> on cpu1 > > est: CPU supports Enhanced Speedstep, but is not recognized. > > est: cpu_vendor GenuineIntel, msr 61a4c2006004c20 > > device_attach: est1 attach returned 6 > > Ditto, and presumably you have a p4tcc1 as as well? Yes. > > > > Why do I get this error? > > > > I found this problem with my machine after I looked at an article > > telling that the new 45nm Intel CPUs were idling at around 3-4W when > > Speedstep is decreasing their frequency. And I guess it means that > > I've been running my server at 1.25 GHz all the time since I > > installed it, which would explain why some compiling jobs were slow! > > Sure. Why it starts at 50% I don't know, unless something thinks there > is a temperature problem? Anyway, you need powerd, and you likely need > to check the acpi@ list about getting your EST working .. you may even > need a BIOS upgrade or hacking on your ACPI ASL, but hopefully not .. > > And post them more details; at least the full /var/run/dmesg.boot and > the results of 'sysctl hw.acpi dev.cpu' .. saving rounds of questions. About the 50%, if I check the CPU frequency in the BIOS, it is always at 50%, probably because there is not much possible CPU load in configuring it. My Core 2 Duo desktop computer has a similar behaviour if I check the frequency when idle, either under Windows, Linux or in the BIOS. The max CPU frequency is 2.66 GHz and it always idles at 2 GHz. > > > cheers, Ian Thanks, Gabriel -- Gabriel Lavoie glavoie@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d05df8620812090416i6f0e0f0cx3f0b042ff7eaeab1>