Skip site navigation (1)Skip section navigation (2)
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>