Date: Mon, 28 Jun 2010 16:41:06 +0200 From: Stefan Farfeleder <stefan@fafoe.narf.at> To: Ian Smith <smithi@nimnet.asn.au> Cc: freebsd-acpi@freebsd.org Subject: Re: Dell Precision m4400 acline problems Message-ID: <20100628144106.GD1733@mole.fafoe.narf.at> In-Reply-To: <20100625174549.T9227@sola.nimnet.asn.au> References: <20100620161124.GA1692@mole.fafoe.narf.at> <20100622010612.T9227@sola.nimnet.asn.au> <20100624140454.GJ1735@mole.fafoe.narf.at> <20100625005304.M9227@sola.nimnet.asn.au> <20100624151811.GK1735@mole.fafoe.narf.at> <20100625174549.T9227@sola.nimnet.asn.au>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100628144106.GD1733>