Thinkpad Thermals

Michal Mertl mime at traveller.cz
Fri Mar 4 15:08:14 PST 2005


Before finishing my email a new one from Mr. Oberman came and said most
of what I'm about to post, but here it is, anyway...

Jesse Guardiani píše v pá 04. 03. 2005 v 05:09 -0500:
> Kevin Oberman wrote:
> 
> >> From: Jesse Guardiani <jesse at wingnet.net>
> >> Date: Fri, 04 Mar 2005 13:01:21 -0500
> >> Sender: owner-freebsd-mobile at freebsd.org
> >> 
> >> Howdy!
> >> 
> >> My IBM Thinkpad A30p's ATI video chip got cooked last year,
> >> leaving me with an unreadable screen full of artifacts. I
> >> finally bought a replacement mobo a few days ago and installed
> >> it this evening. It's now running artifact free! Yay!
> >> 
> >> Anyway, I'm no longer running FreeBSD on this laptop. I'm
> >> currently running Gentoo Linux. But it would be trivial
> >> to switch back if needed.
> >> 
> >> I'm using gkrellm under linux to monitor my CPU temp, and
> >> I'm noticing that it runs quite hot. The fan doesn't kick
> >> in until the CPU hits 80C! That's a little too close for
> >> comfort, IMO.
> >> 
> >> I think I remember seeing other posts from Thinkpad users
> >> mentioning high temps under ACPI. Has anyone found a way
> >> to cool these things down?
> > 
> > Jesse,
> > 
> > Is it running at or near 80C when idle, when in typical use, or when
> > building something BIG (CPU running at >95% for minutes).
> 
> More or less idle. It fluctuates between 70C and 80C. Just playing an
> MP3 I'm at 77C right now. Is this normal acceptable temp for a thinkpad?
> Or should I be targeting the 40C range like I do with my desktop machines?
> 
> 
> > I believe that the A30p is a P4-M CPU. It will turn itself off (hard,
> > like a power cut-off) before the CPU dies, but that is NOT a good
> > thing. That does not happen until the CPU reaches a frightening 135C.
> 
> Actually, I think mine is a P3-M at 1.2ghz. It uses PC133 SODIMMs, and
> /proc/cpuinfo reveals this:
> 
> Intel(R) Pentium(R) III Mobile CPU      1200MHz
> 
> I think it's the A31p that uses a P4-M.

I think P4-M is something pretty different than P-M (sometimes called
also P3-M).

P-M is based on PentiumPro core (the basic design is the same from PP to
P3) and has lots of enhancements over P3. It has rather low nominal
speed (maximum is I think 2GHz) but is much faster per MHz than
P4-whatever. It has two more important revisions AFAIK - the older is
codenamed Banias (1MB L2 cache and 130nm manufacturing process) and the
newer Dothan (2MB L2 cache at 90nm). It has been developped by rather
small Intel team located in Israel. It has lots of nifty features to
conserve power.

P4 (NetBurst architecture) has been developped independently as the
Intel future 32bit architecture (the first really new architecture after
PentiumPro) and trades efficiency for MHz. It seems it's almost dead in
my opinion.

P-M notebooks have <=2GHz speed, weigh usually less than 3 kg (sometimes
just little over 1 kg) and last at least 3 hours on battery when idle.

P4-M notebooks have >2GHz, weigh more than 3 kg and last much less
(1.5hrs?).

My Dothan P-M (maximum 1500MHz) runs at 23MHz(!) at the moment at 40C on
FreeBSD-current. It will run at little over 30C if I don't have usb and
sound loaded (they prevent acpi from going to C3 or C4 (does probably
something to the chipset to conserver power in addition to slowing down
the CPU).

> > If you are running 5-Stable or 6-Current you should load cpufreq and
> > acpi_perf. These will give you a large number of CPU "frequencies"
> > visible in dev.cpu.0 and settable in dev.cpu.0.freq. This provides
> > fine-grained control.
> 
> I asked this question here mostly because I know a lot of people on this
> list run Thinkpads, and I remember more than one complaining about cooling
> issues
> 
> Again, I no longer run FreeBSD on this laptop. I run Gentoo. Linux has
> various different daemons capable of throttling the CPU though, and I
> currently have an "on-battery" runlevel setup that runs the speedfreq
> daemon with a preference for "powersave". I could install something in
> my default "on-AC" runlevel that regulates CPU based on load even when
> on AC...
> 
> But... is 80C normal under load? Running a frequency daemon won't change
> the under-load temp unless I cap the horsepower or introduce some sort
> of temp related frequency feedback control as you describe below.
> 
> Hmmm... well that's interesting: Just to test it out, I unplugged the
> AC and ran it for a while, still playing the same MP3. It leveled out
> at 66C in the "powersave" profile, which means that the CPU is running
> at just 799.457mhz instead of 1199.185mhz (performance).
> 
> Is 66C acceptable temp for a laptop? It's definitely a better temp, but
> It would really stink if my 1.2ghz had to be run at just 800mhz all the
> time to avoid cooking things.

In FreeBSD you have probably as much control over the throttling as on
Gentoo, at least on current.

The temperature gets rather high when doing CPU bound tasks - I've seen
close to 80C on my notebook but I believe it's to be expected and it's
nothing to be afraid of.

There are now 5 power saving subsystems supported on my notebook -
ichss, p4tcc, acpi_throttle, acpi_perf and est. Look at cpufreq(4) on
current but be prepared it won't answer all your questions.

> > Yo can also look at hw.acpi.0.thermal for _PSV and _CRT. _PSV is the
> > temperature at which the CPU should start to slow down to moderate the
> > temperature. _CRT is the point at which alarms are sounded and the OS
> > should start a clean shutdown. If there is no cooling problem _PSV
> > should keep the temperature from ever reaching _CRT. You will note that
> > these temperatures are WAY under 135C, but the 135C cutoff is intended
> > for catastrophic failures (like a broken/improperly installed heat sink)
> > and assumes that the temperature rose very quickly. It is not intended
> > that the CPU should run at that sort of temperature normally.
> > 
> > FreeBSD is still working on support for all of this, but it's getting
> > much closer. The addition of powerd to Current is a big step, but it is
> > probably not quite ready for prime time and is disabled by default. Nate
> > just committed it to current a few days ago and I just installed it
> > yesterday, so I have no experience with it.
> > 
> > Bottom line is that as long as the temperature stays below _PSV under
> > heavy load, you should not be concerned. If it exceeds _PSV for very
> > long, you might want to reduce dev.cpu.0.freq a bit. If you ever hit
> > _CRT, dow something quickly. FWIW, my system has _PSV at 86.5C and _CRT
> > at 94.0C, so 80C is really not that hot, though my thigh does not agree
> > when my laptop is literally on my lap.
> > 
> > As always, I am not really an expert on all  of this and I can hope that
> > Nate or someone else will correct any errors in this.


Michal Mertl



More information about the freebsd-mobile mailing list