high cpu temp and fan speed problem

Nathan BIAGINI nathan.open at gmail.com
Mon May 10 17:32:35 UTC 2010


2010/5/10 Ian Smith <smithi at nimnet.asn.au>

> On Sun, 9 May 2010, Nathan BIAGINI wrote:
>  > 2010/5/9 Ian Smith <smithi at nimnet.asn.au>
>  > > On Sun, 9 May 2010, Nathan BIAGINI wrote:
>  > >  > 2010/5/9 Ian Smith <smithi at nimnet.asn.au>
>  > >  >
>  > >  > > On Sun, 9 May 2010, Nathan BIAGINI wrote:
>  > >  > >  > Hi,
>  > >  > >  >
>  > >  > >  > i bought a hp pavilion dv6-1123ef laptop and i've installed
> FreeBSD
>  > > 8.0
>  > >  > > on
>  > >  > >  > it. Everything work except one think : i can't do high-cpu
> task.
>  > > The
>  > >  > > problem
>  > >  > >  > is when i run a high-cpu task (no very high in fact), my cpu
>  > > temperature
>  > >  > > can
>  > >  > >  > increase to 90°C and when it's the case, system go down.
> Further, i
>  > >  > > heard
>  > >  > >  > the fans are running. When i work on windows (short time), i
> never
>  > > had
>  > >  > > this
>  > >  > >  > kind of problem so i think is may be a kernel config problem.
> [.. trimming a bit]
>  > >  > > Sounds perhaps similar to some recent issues, but first we need
> to
>  > > know
>  > >  > > more about your laptop .. please show output of:
>  > >  > >
>  > >  > > % sysctl hw.acpi
>  > >  > > % sysctl dev.cpu
>  > >  > > % grep -i acpi /var/run/dmesg.boot
>  > >
>  > > Sorry, my 8.0 laptop is memtesting new RAM today so I didn't check
> that.
>  > > Still need to know what make/model CPU it has, and what cpufreq
> drivers
>  > > it uses .. can you post the whole dmesg.boot ? (just plain, not
> verbose)
> [..]
>  > > Ok.  If things aren't too big they're perhaps better posted inline, so
>  > > I'll quote a few bits that look a bit strange regarding temperatures:
>  > >
>  > >  > acpi_tz0: _CRT value is absurd, ignored (-273.2C)
>  > > ..
>  > >  > hw.acpi.thermal.min_runtime: 0
>  > >  > hw.acpi.thermal.polling_rate: 10
>  > >  > hw.acpi.thermal.user_override: 0
>  > >  > hw.acpi.thermal.tz0.temperature: 56.0C
>  > >  > hw.acpi.thermal.tz0.active: -1
>  > >  > hw.acpi.thermal.tz0.passive_cooling: 1
>  > >  > hw.acpi.thermal.tz0.thermal_flags: 0
>  > >  > hw.acpi.thermal.tz0._PSV: 135.0C        <<<---
>  > >  > hw.acpi.thermal.tz0._HOT: 90.0C         <<<---
>  > >  > hw.acpi.thermal.tz0._CRT: -1            <<<---
>  > >  > hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
>  > >  > hw.acpi.thermal.tz0._TC1: 2
>  > >  > hw.acpi.thermal.tz0._TC2: 5
>  > >  > hw.acpi.thermal.tz0._TSP: 50
>  > >  > hw.acpi.cpu.cx_lowest: C1
>  > >
>  > > The _PSV (passive cooling) temp is 'absurd' also; it certainly should
> be
>  > > lower than _HOT - which looks possibly right at 90C - and _CRT
> (critical
>  > > shutdown) definitely should be there, probably <= 100C.
>  > >
>  > > Is it running the latest available BIOS update?
>  > >
>  > >  > dev.cpu.0.freq: 250
>  > >  > dev.cpu.0.freq_levels: 2000/35000 1750/30625 1500/26250 1250/21875
>  > >  >  1000/17500 750/13125 500/8750 250/4375
>  > >  > dev.cpu.0.cx_supported: C1/1 C2/57
>  > >  > dev.cpu.0.cx_lowest: C1
>  > >
>  > > Maybe more about these after seeing your dmesg.boot ..
>  > >
>  > > cheers, Ian
>  > >
>  >
>  > Ok, so. I tried to understand.
>  >
>  > The whole dmesg.boot file : http://pastebin.com/U4p8Y8Pi (inline ,))
>
> Thanks.  By 'inline' I meant you could have included it in your message,
> but that's ok.  Here are the bits I was really interested to know:
>
> =======
> FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009
>    root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
>
> [ is this i386 or amd64?  Either will run on this machine, and I find it
> a bit annoying that the above line never tells .. 'uname -a' will ]
>
> CPU: Intel(R) Core(TM)2 Duo CPU     T5800  @ 2.00GHz (1995.24-MHz 686-class
> CPU)
>  Origin = "GenuineIntel"  Id = 0x6fd  Stepping = 13
>
>  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,
>  CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>  Features2=0xe39d<SSE3,DTES64,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM>
>  AMD Features=0x20100000<NX,LM>
>  AMD Features2=0x1<LAHF>
>  TSC: P-state invariant
> real memory  = 3221225472 (3072 MB)
> avail memory = 3143438336 (2997 MB)
> ACPI APIC Table: <HPQOEM SLIC-MPC>
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> FreeBSD/SMP: 1 package(s) x 2 core(s)
>  cpu0 (BSP): APIC ID:  0
>  cpu1 (AP): APIC ID:  1
>
> [ aside: does anyone know what 'TSC: P-state invariant' means? ]
>
> acpi_tz0: <Thermal Zone> on acpi0
> acpi_tz0: _CRT value is absurd, ignored (-273.2C)
> atrtc0: <AT realtime clock> port 0x70-0x77 on acpi0
> atrtc0: Warning: Couldn't map I/O.
>
> [ not sure if that atrtc0: Warning is significant? ]
>
> cpu0: <ACPI CPU> on acpi0
> est0: <Enhanced SpeedStep Frequency Control> on cpu0
> p4tcc0: <CPU Frequency Thermal Control> on cpu0
> cpu1: <ACPI CPU> on acpi0
> est1: <Enhanced SpeedStep Frequency Control> on cpu1
> p4tcc1: <CPU Frequency Thermal Control> on cpu1
> =======
>
> Right, it's a Core2 Duo at 2GHz, using est (absolute) frequency control,
> and p4tcc (relative) frequency thermal control.  See cpufreq(4) ie 'man
> cpufreq'.  This combination seems to be a problem for these in some
> recent machines.  While at 250MHz it should be using only 4.375 watts,
> that doesn't seem to be working right on these, and you may be better
> off (regarding heat) using the fewer frequencies provided just by est.
>
> =======
> dev.cpu.0.freq: 250
> dev.cpu.0.freq_levels: 2000/35000 1750/30625 1500/26250 1250/21875
> 1000/17500 750/13125 500/8750 250/4375
> dev.cpu.0.cx_supported: C1/1 C2/57
> dev.cpu.0.cx_lowest: C1
> dev.cpu.0.cx_usage: 100.00% 0.00% last 500us
> =======
>
> So, cpufreq seems only to be seeing your 2000 frequency, and each of
> these other frequencies are 7/8, 6/8 .. 1/8 of 2000MHz, generated by
> p4tcc, which seems odd, unless 1000 is a 'real' supported frequency?
>
> Please try adding the following lines to your /boot/loader.conf and
> rebooting, then paste what 'sysctl dev.cpu' says after that?  Also check
> if just doing this makes any difference to your overheating issue, as it
> has for some people.
>
> hint.p4tcc.0.disable="1"
> hint.acpi_throttle.0.disable="1"
> hint.p4tcc.1.disable="1"
> hint.acpi_throttle.1.disable="1"
>
> You need both pairs; if you just disable p4tcc, acpi_throttle would
> attach and provide those same frequencies, so would be no advantage.
>
> You may also find 'Fighting for the power' by Alexander Motin useful, in
> particular enabling your available C2 state to reduce idle power use:
>
> http://lists.freebsd.org/pipermail/freebsd-current/2009-May/006436.html
>
>  > I don't really know if i have the last available BIOS version, i never
>  > upgrade it manually...
>
> If you boot into your BIOS setup, what BIOS version does it show?
>
> According to the HP website for your model, there's only a BIOS update
> for models running AMD processors, none mentioned for the Intel ones
> - and even then, of course, only for various versions of Windows.
>
>
> http://h10061.www1.hp.com/ccsearch/search?method=mainQuery&qry=BIOS&pname=HP+Pavilion+dv6-1123ef+Entertainment+Notebook+PC&ptype=consumer&stype=pn&spname=HP+Pavilion+dv6-1123ef+Entertainment+Notebook+PC&spid=3949647&productBigSeriesOid=3837240&pid=3949646&temp_hql=s-001%2Cs-002%2Cs-004%2Cs-003%2Cs-007%2Cs-017%2Cz-001&product_line_code=KV&lang=en&ctry=nl&dlc=nl&mode=fb&uqry=&pname_desc=HP+Pavilion+dv6-1123ef+Entertainment+Notebook+PC
>  and
>
> http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01056794&cc=nl&lc=en&dlc=nl&product=3949647
>
> If you are running the latest BIOS, which seems likely, then you might
> need to modify your ASL, in which case pay very good attention to what
> Alexandre says about that; he can very likely help if you are prepared
> to experiment a bit.
>
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html
>
> (but no need to bother the freebsd-acpi list with this, not yet anyway)
>
>  > Now, i read the acpi man page and i don't see anything concerning
>  > hw.acpi.tz0.temperature, it is a sysctl option?
>
> See acpi_thermal(4)
>
>  > _HOT should be set to 90°C and _PSV should be set to a less value than
> _HOT?
>  > and _CRT to a greater value? 100°C. I understand there is a problem with
>  > this values but i don't understand how i have to set them.
>
> You can adjust _PSV, but not _HOT nor _CRT, unless you modify the ASL.
>
> Of course, Julian's advice about making sure there's no dust or fluff
> etc blocking your fan airways and heatsink is good too; spending a can
> of compressed air has helped people where that has been an issue.
>
> cheers, Ian


Ok, thanks for it. The topic of Alexandre is very useful! So, i modify my
loader.conf an rc.conf file by adding lines you told me to write
(loader.conf) and lines to enable C2 and others to reduce number of sounds
genertaed interrupts (see 'Fighting for the power' of Alexandre).

I reboot and as you have asked me, the output of systcl dev.cpu after reboot
: http://pastebin.com/bajvzy1W

I tried to see how to behave my laptop (regarding fan noise and heat).
Overall, i think it's a bit better, less noisy but not really perfect (sorry
about my vagueness).

I didn't do all steps of the topic of Alexandre and maybe after do them, it
will be better again...

I tried to do an high cpu task but same behavor, system shuting down (heat
exceed 92°C, critical...)

I will to learn more about acpi debug and ASL from the handbokk and share
you more about these.


More information about the freebsd-mobile mailing list