Dell Precision m4400 acline problems
Stefan Farfeleder
stefan at fafoe.narf.at
Mon Jun 28 14:41:13 UTC 2010
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).
> 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
> # 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
Cheers,
Stefan
More information about the freebsd-acpi
mailing list