Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Mar 2015 21:54:10 +1000
From:      Da Rock <freebsd-acpi@herveybayaustralia.com.au>
To:        Kevin Oberman <rkoberman@gmail.com>
Cc:        "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>
Subject:   Re: HP Compaq CQ62/42 acpi
Message-ID:  <551544E2.4040205@herveybayaustralia.com.au>
In-Reply-To: <CAN6yY1sm2C_5N0MomLDd%2BDxMCkUJDpTRw6D5iPAZq3kJBYn8Pw@mail.gmail.com>
References:  <55113B2D.2040609@herveybayaustralia.com.au>	<CAN6yY1vs=M_1PWRq5pSiuczQc7hXqm333gtkHDPv5Vdc64k3Gg@mail.gmail.com>	<551362EF.3080801@herveybayaustralia.com.au> <CAN6yY1sm2C_5N0MomLDd%2BDxMCkUJDpTRw6D5iPAZq3kJBYn8Pw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26/03/2015 14:22, Kevin Oberman wrote:
> On Wed, Mar 25, 2015 at 6:37 PM, Da Rock 
> <freebsd-acpi@herveybayaustralia.com.au 
> <mailto:freebsd-acpi@herveybayaustralia.com.au>> wrote:
>
>     On 03/25/15 09:52, Kevin Oberman wrote:
>>     On Tue, Mar 24, 2015 at 3:23 AM, Da Rock
>>     <freebsd-acpi@herveybayaustralia.com.au
>>     <mailto:freebsd-acpi@herveybayaustralia.com.au>> wrote:
>>
>>         I have 2 laptops as mentioned, 3 all amd athlon based. The
>>         3rd is an asus which I'm relatively happy with.
>>
>>         What I have is when I pull the AC out of it, the sysctl for
>>         cpu speed goes from 2200 to 100 or 400. Basically the system
>>         becomes rather unusable.
>>
>>         I tried the acpi_hp module, and it now switches to 800. This
>>         is better, but barely usable still.
>>
>>         I'd like to see a response similar to the asus if its
>>         possible; this effectively stays the same, but drops speed if
>>         nothing is happening.
>>
>>         Ideally, I'd think that it would be better if the system
>>         adjusted speed to use requirements during operation, but
>>         neither does that. I suspect that the asus should (in theory)
>>         as it does do it on battery only; but unless I'm really
>>         hammering all the time, it just doesn't seem to happen when
>>         I'm looking at it.
>>
>>         The settings used on all for powerd is hiadaptive for AC,
>>         adaptive for battery.
>>
>>         If I'm doing something wrong let me know, if more data is
>>         required I'm happy to help the cause :)
>>
>>         TIA
>>
>>     First, let's get a bit more information. Please provide:
>>     sysctl dev.cpu.0 (on AC and then on battery)
>     AC:
>
>     dev.cpu.0.%desc: ACPI CPU
>     dev.cpu.0.%driver: cpu
>     dev.cpu.0.%location: handle=\_PR_.C000
>     dev.cpu.0.%pnpinfo: _HID=none _UID=0
>     dev.cpu.0.%parent: acpi0
>     dev.cpu.0.temperature: 85.3C
>     dev.cpu.0.freq: 200
>     dev.cpu.0.freq_levels: 2200/7543 1925/6600 1900/6150 1662/5381
>     1600/4777 1400/4179 1300/3750 1137/3281 975/2812 800/2091 700/1829
>     600/1568 500/1306 400/1045 300/784 200/522 100/261
>     dev.cpu.0.cx_supported: C1/1/0
>     dev.cpu.0.cx_lowest: C1
>     dev.cpu.0.cx_usage: 100.00% last 682us
>
>     Battery:
>
>     dev.cpu.0.%desc: ACPI CPU
>     dev.cpu.0.%driver: cpu
>     dev.cpu.0.%location: handle=\_PR_.C000
>     dev.cpu.0.%pnpinfo: _HID=none _UID=0
>     dev.cpu.0.%parent: acpi0
>     dev.cpu.0.temperature: 85.5C
>     dev.cpu.0.freq: 100
>     dev.cpu.0.freq_levels: 2200/7543 1925/6600 1900/6150 1662/5381
>     1600/4777 1400/4179 1300/3750 1137/3281 975/2812 800/2091 700/1829
>     600/1568 500/1306 400/1045 300/784 200/522 100/261
>     dev.cpu.0.cx_supported: C1/1/0
>     dev.cpu.0.cx_lowest: C1
>     dev.cpu.0.cx_usage: 100.00% last 901us
>>     uname -a
>     FreeBSD laptop1 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue
>     Jul  8 06:37:44 UTC 2014
>     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
>     <mailto:root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC>
>     amd64
>>     /etc/sysctl.conf (If present)
>     vfs.usermount=1
>     kern.ipc.shm_allow_removed=1
>     compat.linux.osrelease=2.6.18
>>     /boot/loader.conf (if present)
>     (like it wasn't going to be present :D who doesn't?)
>     vboxdrv_load=YES
>     tmpfs_load=YES
>     cuse4bsd_load=YES
>     acpi_video_load=YES
>     amdtemp_load=YES
>     fuse_load=YES
>     acpi_hp_load=YES
>
>     I'd like to get this system running nicely if I can - its been
>     just getting there for too long now because of other projects
>     taking my attention and I've got bite the bullet and work this out.
>
>     BTW, just to make a liar out of me after I sent that post, the
>     system did start to change the cpu speed on AC - but it took a
>     while. I had sat there monitoring the system with little activity
>     and it remained at 2200; when I gave up waiting and sent that post
>     I then started to really give it to it and the speed started
>     dropping and rising a little. However, given I was trying to do an
>     encoding with ffmpeg at the time, the speed probably should have
>     remained at 2200 as my frames encoded per second was about half of
>     normal. So I don't really know what to expect :)
>
>     This is also in my dmesg:
>
>     amdtemp0: <AMD CPU On-Die Thermal Sensors> on hostb4
>     acpi_acad0: <AC Adapter> on acpi0
>     battery0: <ACPI Control Method Battery> on acpi0
>     acpi_lid0: <Control Method Lid Switch> on acpi0
>     acpi_wmi0: <ACPI-WMI mapping> on acpi0
>     acpi_hp0: <HP ACPI-WMI Mapping> on acpi_wmi0
>     acpi_hp0: HP event GUID detected, installing event handler
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160
>     (bits) (20130823/dsopcode-249)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC]
>     (Node 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD]
>     (Node 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
>     acpi_tz0: <Thermal Zone> on acpi0
>     acpi_tz0: _CRT value is absurd, ignored (-273.2C)
>
I should have clarified this before - can someone tell me what all this 
means? Can I do anything about it?
>
>
>     cat wmistat0:
>
>     GUID                                  INST EXPE METH STR EVENT OID
>     {5FB7F034-2C63-45E9-BE91-3D44E2C707E4}   1 NO   WMAD NO NO    AD
>     {95F24279-4D7B-4334-9387-ACCDC67EF61C}   1 NO   NO   NO 0x80+ -
>     {05901221-D566-11D1-B2F0-00A0C9062910}   1 NO   NO   NO NO    AE
>     {D0992BD4-A47C-4EFE-B072-324AEC92296C}   1 NO   NO   NO NO    BC
>
>     What do I do now?
>
>     TIA
>
>
> First, I suggest checking the output of kldstat to see that 
> acpi_wmi.ko is loaded.
See just above; that device is set with the module, and the module is 
loaded with acpi_hp. Check:

kldstat:

8    1 0xffffffff8189f000 83c0     acpi_hp.ko
  9    2 0xffffffff818a8000 7e10     acpi_wmi.ko
> If not, add acpi_wmi_load=YES to loader.conf. wmi is an HP/Acer thing 
> and I really don't know much about it. Do you have powerd variables in 
> rc.conf? I assume you have powerd_enable="YES", but are you setting 
> any flags?
Flags as initially provided in OP: hiadaptive on AC, adaptive on battery.
>
> I see that you are using P4TCC. (This is default in 10, but will 
> finally be fixed in 11.) You can turn it off by adding:
> hint.p4tcc.0.disabled=1
> hint.acpi_throttle.0.disabled=1
> to loader.conf. It will remove a bunch of useless "frequencies" and 
> leave the useful values. It will make powerd much more responsive and 
> will prevent C-states from locking up the system when they are 
> enabled. I'd also suggest setting:
> performance_cx_lowest="Cmax"
> economy_cx_lowest="Cmax"
> as C-states are by far and away the best power saving tool available. 
> (This also becomes default in 11.)
So what exactly should I be seeing? This:

dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.C000
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.temperature: 82.5C
dev.cpu.0.freq: 800
dev.cpu.0.freq_levels: 2200/7543 1900/6150 1600/4777 1300/3750 800/2091
dev.cpu.0.cx_supported: C1/1/0
dev.cpu.0.cx_lowest: C8
dev.cpu.0.cx_usage: 100.00% last 4934us

Why is it at c8? And what does the cx_supported do then?
>
> For a lot of details on tuning power usage, read the article at 
> https://wiki.freebsd.org/TuningPowerConsumption.
>
> Finally, so a little debug. Kill powerd (service powerd stop) and run 
> it with verbose on a terminal ("powerd -v" plus whatever options you 
> have in powerd_flags) and watch what powerd is doing.
powerd: using sysctl for AC line status
powerd: using devd for AC line status
load   0%, current freq 2200 MHz ( 0), wanted freq 2131 MHz
load   0%, current freq 2200 MHz ( 0), wanted freq 2064 MHz
load   6%, current freq 2200 MHz ( 0), wanted freq 1999 MHz
load   9%, current freq 2200 MHz ( 0), wanted freq 1936 MHz
load   8%, current freq 2200 MHz ( 0), wanted freq 1875 MHz
changing clock speed from 2200 MHz to 1900 MHz
load   4%, current freq 1900 MHz ( 1), wanted freq 1816 MHz
load   0%, current freq 1900 MHz ( 1), wanted freq 1759 MHz
load   4%, current freq 1900 MHz ( 1), wanted freq 1704 MHz
load   0%, current freq 1900 MHz ( 1), wanted freq 1650 MHz
load   0%, current freq 1900 MHz ( 1), wanted freq 1598 MHz
changing clock speed from 1900 MHz to 1600 MHz
load   3%, current freq 1600 MHz ( 2), wanted freq 1548 MHz
load  10%, current freq 1600 MHz ( 2), wanted freq 1499 MHz
load   6%, current freq 1600 MHz ( 2), wanted freq 1452 MHz
load   6%, current freq 1600 MHz ( 2), wanted freq 1406 MHz
load   7%, current freq 1600 MHz ( 2), wanted freq 1362 MHz
load   4%, current freq 1600 MHz ( 2), wanted freq 1319 MHz
load   4%, current freq 1600 MHz ( 2), wanted freq 1277 MHz
changing clock speed from 1600 MHz to 1300 MHz
load   6%, current freq 1300 MHz ( 3), wanted freq 1237 MHz
load  13%, current freq 1300 MHz ( 3), wanted freq 1198 MHz
load   3%, current freq 1300 MHz ( 3), wanted freq 1160 MHz
load   3%, current freq 1300 MHz ( 3), wanted freq 1123 MHz
load   6%, current freq 1300 MHz ( 3), wanted freq 1087 MHz
load  22%, current freq 1300 MHz ( 3), wanted freq 1053 MHz
load   8%, current freq 1300 MHz ( 3), wanted freq 1020 MHz
load   3%, current freq 1300 MHz ( 3), wanted freq  988 MHz
load   9%, current freq 1300 MHz ( 3), wanted freq  957 MHz
load  21%, current freq 1300 MHz ( 3), wanted freq  927 MHz
load   3%, current freq 1300 MHz ( 3), wanted freq  898 MHz
load   7%, current freq 1300 MHz ( 3), wanted freq  869 MHz
load   9%, current freq 1300 MHz ( 3), wanted freq  841 MHz
load   7%, current freq 1300 MHz ( 3), wanted freq  814 MHz
load   7%, current freq 1300 MHz ( 3), wanted freq  800 MHz
changing clock speed from 1300 MHz to 800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  10%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  18%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  30%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  15%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  11%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   9%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   8%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  13%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  15%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  10%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   8%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   9%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   9%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  26%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  17%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   8%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   9%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   8%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  14%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  12%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  12%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  12%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  10%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   8%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   9%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   6%, current freq  800 MHz ( 4), wanted freq  800 MHz
load   7%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  16%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  11%, current freq  800 MHz ( 4), wanted freq  800 MHz
load  10%, current freq  800 MHz ( 4), wanted freq  800 MHz
^Ctotal joules used: 64.579

So aside from being informative, how can this help me? You guys 
mentioned locking up, was that happening each line here?

The -i and -r seemed reasonable for my purposes, so no change there, at 
least until I get a better feel for things anyway.

With regards powernow! I can't see it in dmesg (used grep), but est 
isn't used either as far as I can tell. How would I enable powernow in 
freebsd anyway? Or is it just a cpu thing and not a module?

CPU: AMD Phenom(tm) II N970 Quad-Core Processor (2194.63-MHz K8-class CPU)
   Origin = "AuthenticAMD"  Id = 0x100f53  Family = 0x10  Model = 0x5  
Stepping = 3
Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
   Features2=0x802009<SSE3,MON,CX16,POPCNT>
   AMD 
Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!>
   AMD 
Features2=0x837ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,IBS,SKINIT,WDT,NodeId>
   TSC: P-state invariant



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?551544E2.4040205>