Dell Precision m4400 acline problems

Ian Smith smithi at nimnet.asn.au
Mon Jun 28 16:23:19 UTC 2010


On Mon, 28 Jun 2010, Stefan Farfeleder wrote:
 > Hi Ian,
 > 
 > On Fri, Jun 25, 2010 at 06:25:18PM +1000, Ian Smith wrote:
 > > 
 > > Stefan, I'm afraid that this isn't making a lot of sense, to me anyway.
 > > 
 > > You say that switching to battery "evidently causes the frequency to 
 > > decrease internally, ie. without dev.cpu.0.freq knowing" which, if true, 
 > > would indicate a serious bug, and not one I've seen mentioned before.
 > > 
 > > You said earlier that, on switching to battery, performance decreases to 
 > > 50% or less, and stays there when switching back to AC.  How exactly are 
 > > you measuring that performance, if dev.cpu.0.freq is then still showing 
 > > your top freq of 2801?
 > 
 > I'm using benchmarks/ubench (see numbers below), but the difference is
 > also trivially measurable just by switching virtual desktops.
 > 
 > > How are you lowering then raising the frequency? (show, don't tell)
 > 
 > $ sudo sysctl dev.cpu.0.freq=2450
 > $ sudo sysctl dev.cpu.0.freq=2801
 > 
 > BTW, my system uses the est and p4tcc frequency drivers:
 > 
 > p4tcc0: <CPU Frequency Thermal Control> on cpu0
 > p4tcc1: <CPU Frequency Thermal Control> on cpu1
 > est0: <Enhanced SpeedStep Frequency Control> on cpu0
 > est1: <Enhanced SpeedStep Frequency Control> on cpu1
 > 
 > $ sysctl dev.p4tcc     
 > dev.p4tcc.0.%desc: CPU Frequency Thermal Control
 > dev.p4tcc.0.%driver: p4tcc
 > dev.p4tcc.0.%parent: cpu0
 > dev.p4tcc.0.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1
 > 3750/-1 2500/-1 1250/-1
 > dev.p4tcc.1.%desc: CPU Frequency Thermal Control
 > dev.p4tcc.1.%driver: p4tcc
 > dev.p4tcc.1.%parent: cpu1
 > dev.p4tcc.1.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1
 > 3750/-1 2500/-1 1250/-1
 > 
 > $ sysctl dev.est  
 > dev.est.0.%desc: Enhanced SpeedStep Frequency Control
 > dev.est.0.%driver: est
 > dev.est.0.%parent: cpu0
 > dev.est.0.freq_settings: 2801/35000 2800/35000 2134/16607 1600/15000
 > 800/12000
 > dev.est.1.%desc: Enhanced SpeedStep Frequency Control
 > dev.est.1.%driver: est
 > dev.est.1.%parent: cpu1
 > dev.est.1.freq_settings: 2801/35000 2800/35000 2134/16607 1600/15000
 > 800/12000
 > 
 > What's maybe interesting is that the p4tcc frequencies are a _lot_
 > slower than the est ones (eg. 2450 (87.5% of 2800) is slower than 1600).

Hi Stefan,

yes, p4tcc is unlikely to be doing you any good, and possibly some harm?

Try rebooting with these in /boot/loader.conf:

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 per CPU, or acpi_throttle could attach when p4tcc doesn't.

It'd be an interesting data point if disabling p4tcc helped your issue.

Anyway, est provides enough freqs (and proper voltage settings, unlike 
p4tcc) for power control should you need that, and if you chose to use 
powerd later it might work better with just est, just anecdotally from 
some recent discussions.

 > > Perhaps if you provide some more information when the machine is in both 
 > > AC and battery state, it may provide some clues as to what's going on.
 > > 
 > > Off the top of my head, posting the below for both states might help:
 > > 
 > > # sysctl dev.cpu hw.acpi
 > 
 > before:
 > dev.cpu.0.%desc: ACPI CPU
 > dev.cpu.0.%driver: cpu
 > dev.cpu.0.%location: handle=\_PR_.CPU0
 > dev.cpu.0.%pnpinfo: _HID=none _UID=0
 > dev.cpu.0.%parent: acpi0
 > dev.cpu.0.temperature: 48.0C
 > dev.cpu.0.freq: 2801
 > dev.cpu.0.freq_levels: 2801/35000 2450/30625 2134/16607 1867/14531
 > 1600/15000 1400/13125 1200/11250 1000/9375 800/12000 700/10500 600/9000
 > 500/7500 400/6000 300/4500 200/3000 100/1500
 > dev.cpu.0.cx_supported: C1/1 C2/1 C3/162
 > dev.cpu.0.cx_lowest: C1
 > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 405us
 > dev.cpu.1.%desc: ACPI CPU
 > dev.cpu.1.%driver: cpu
 > dev.cpu.1.%location: handle=\_PR_.CPU1
 > dev.cpu.1.%pnpinfo: _HID=none _UID=0
 > dev.cpu.1.%parent: acpi0
 > dev.cpu.1.temperature: 48.0C
 > dev.cpu.1.cx_supported: C1/1 C2/1 C3/162
 > dev.cpu.1.cx_lowest: C1
 > dev.cpu.1.cx_usage: 100.00% 0.00% 0.00% last 383us
 > hw.acpi.supported_sleep_state: S3 S4 S5
 > hw.acpi.power_button_state: S5
 > hw.acpi.sleep_button_state: S3
 > hw.acpi.lid_switch_state: NONE
 > hw.acpi.standby_state: NONE
 > hw.acpi.suspend_state: S3
 > hw.acpi.sleep_delay: 1
 > hw.acpi.s4bios: 1
 > hw.acpi.verbose: 0
 > hw.acpi.disable_on_reboot: 0
 > hw.acpi.handle_reboot: 0
 > hw.acpi.reset_video: 0
 > hw.acpi.cpu.cx_lowest: C1
 > hw.acpi.acline: 1
 > hw.acpi.battery.life: 96
 > hw.acpi.battery.time: -1
 > hw.acpi.battery.state: 2
 > hw.acpi.battery.units: 2
 > hw.acpi.battery.info_expire: 5
 > hw.acpi.thermal.min_runtime: 0
 > hw.acpi.thermal.polling_rate: 10
 > hw.acpi.thermal.user_override: 0
 > hw.acpi.thermal.tz0.temperature: 52.5C
 > hw.acpi.thermal.tz0.active: -1
 > hw.acpi.thermal.tz0.passive_cooling: 0
 > hw.acpi.thermal.tz0.thermal_flags: 0
 > hw.acpi.thermal.tz0._PSV: -1
 > hw.acpi.thermal.tz0._HOT: -1
 > hw.acpi.thermal.tz0._CRT: 107.0C
 > hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
 > hw.acpi.thermal.tz0._TC1: -1
 > hw.acpi.thermal.tz0._TC2: -1
 > hw.acpi.thermal.tz0._TSP: -1
 > 
 > after:
 > dev.cpu.0.%desc: ACPI CPU
 > dev.cpu.0.%driver: cpu
 > dev.cpu.0.%location: handle=\_PR_.CPU0
 > dev.cpu.0.%pnpinfo: _HID=none _UID=0
 > dev.cpu.0.%parent: acpi0
 > dev.cpu.0.temperature: 45.0C
 > dev.cpu.0.freq: 2801
 > dev.cpu.0.freq_levels: 2801/35000 2450/30625 2134/16607 1867/14531
 > 1600/15000 1400/13125 1200/11250 1000/9375 800/12000 700/10500 600/9000
 > 500/7500 400/6000 300/4500 200/3000 100/1500
 > dev.cpu.0.cx_supported: C1/1 C2/1 C3/162
 > dev.cpu.0.cx_lowest: C1
 > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 351us
 > dev.cpu.1.%desc: ACPI CPU
 > dev.cpu.1.%driver: cpu
 > dev.cpu.1.%location: handle=\_PR_.CPU1
 > dev.cpu.1.%pnpinfo: _HID=none _UID=0
 > dev.cpu.1.%parent: acpi0
 > dev.cpu.1.temperature: 44.0C
 > dev.cpu.1.cx_supported: C1/1 C2/1 C3/162
 > dev.cpu.1.cx_lowest: C1
 > dev.cpu.1.cx_usage: 100.00% 0.00% 0.00% last 439us
 > hw.acpi.supported_sleep_state: S3 S4 S5
 > hw.acpi.power_button_state: S5
 > hw.acpi.sleep_button_state: S3
 > hw.acpi.lid_switch_state: NONE
 > hw.acpi.standby_state: NONE
 > hw.acpi.suspend_state: S3
 > hw.acpi.sleep_delay: 1
 > hw.acpi.s4bios: 1
 > hw.acpi.verbose: 0
 > hw.acpi.disable_on_reboot: 0
 > hw.acpi.handle_reboot: 0
 > hw.acpi.reset_video: 0
 > hw.acpi.cpu.cx_lowest: C1
 > hw.acpi.acline: 0
 > hw.acpi.battery.life: 96
 > hw.acpi.battery.time: 0
 > hw.acpi.battery.state: 1
 > hw.acpi.battery.units: 2
 > hw.acpi.battery.info_expire: 5
 > hw.acpi.thermal.min_runtime: 0
 > hw.acpi.thermal.polling_rate: 10
 > hw.acpi.thermal.user_override: 0
 > hw.acpi.thermal.tz0.temperature: 52.5C
 > hw.acpi.thermal.tz0.active: -1
 > hw.acpi.thermal.tz0.passive_cooling: 0
 > hw.acpi.thermal.tz0.thermal_flags: 0
 > hw.acpi.thermal.tz0._PSV: -1
 > hw.acpi.thermal.tz0._HOT: -1
 > hw.acpi.thermal.tz0._CRT: 107.0C
 > hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
 > hw.acpi.thermal.tz0._TC1: -1
 > hw.acpi.thermal.tz0._TC2: -1
 > hw.acpi.thermal.tz0._TSP: -1
 > 
 > > # vmstat -i
 > 
 > before:
 > interrupt                          total       rate
 > irq1: atkbd0                       49579          1
 > irq9: acpi0                        68826          2
 > irq12: psm0                       478827         17
 > irq17: fwohci0                         2          0
 > irq19: cbb0 atapci1               191023          7
 > irq20: hpet0 uhci0*              3438755        128
 > irq22: uhci2 ehci0+                   26          0
 > cpu0:timer                      26706953        999
 > irq257: hdac0                         24          0
 > irq258: iwn0                     1342351         50
 > cpu1:timer                      26707465        999
 > Total                           58983831       2208
 > 
 > after:
 > interrupt                          total       rate
 > irq1: atkbd0                       49917          1
 > irq9: acpi0                        69077          2
 > irq12: psm0                       482043         17
 > irq17: fwohci0                         2          0
 > irq19: cbb0 atapci1               191120          7
 > irq20: hpet0 uhci0*              3448999        128
 > irq22: uhci2 ehci0+                   26          0
 > cpu0:timer                      26786502        999
 > irq257: hdac0                         24          0
 > irq258: iwn0                     1345908         50
 > cpu1:timer                      26787016        999
 > Total                           59160634       2208

Nothing jumped out at me ..

 > > # whatever tool you are using to measure 'performance'
 > 
 > before:
 > Ubench CPU:   698410
 > Ubench MEM:   174244
 > --------------------
 > Ubench AVG:   436327
 > 
 > after:
 > Ubench CPU:   196190
 > Ubench MEM:    60082
 > --------------------
 > Ubench AVG:   128136

Ok, well, mmm.

Try disabling p4tcc.  If that makes no difference, I've no clue at all.

cheers, Ian


More information about the freebsd-acpi mailing list