Originally posted by liam
View Post
Announcement
Collapse
No announcement yet.
Linux 3.1 Kernel Draws More Power With Another Regression
Collapse
X
-
-
Originally posted by Med_ View PostWell, Cyborg16 already gave all the useful hints. All i did was adding the following to my rc.local:
Code:echo 1 > /sys/module/snd_hda_intel/parameters/power_save for i in /sys/class/scsi_host/host?/link_power_management_policy; do echo min_power > $i done for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i done for i in /sys/bus/{pci,i2c}/devices/*/power/control; do echo auto > $i done
I'm not sure the i915 option does much if you're not SB.
Best/Liam
Leave a comment:
-
Originally posted by Cyborg16 View PostI have a T410 and I don't think this generation of lenovo machines have brilliant run-times; the lowest wattage I've got out of my machine is about 10W, but usually it's more like 13W. First tip: use powertop and close high-usage applications. In some cases KDE seems to suck a lot of power (though not always); a simpler DE like LXDE or even gnome 2 may save power. Firefox may not be the best web-browser for power-usage.
Second, here's some notes for driver tuning:
Code:#!/bin/bash # This is a collection of notes about various laptop power-tuning I've found on # the internet and tested on a lenovo T410. # Booting with the pcie_aspm=force kernel option helps: # Force ASPM: # 13.4W idle, 34W glxgears # Without: # 14.6W idle, 35W glxgears # Wifi appears to use about 1.8W # Wifi power saving (enabled by powertop) saves perhaps half a watt # Screen uses perhaps 4.5W more on full brightness than on minimum # These tweaks can only be done by root if [ "$(id -u)" != "0" ]; then echo "This script must be run as root" 1>&2 exit 1 fi # Setting power control of all devices to auto possibly saves about 0.8W (need # to do a better test): # (Note that this appears to disable external mice until you re-plug them in.) setauto() { file=$1 if [[ "$file" =~ 'power' ]] then if [[ "$(cat $file)" != "auto" ]] then echo -n $file: cat $file echo "auto" > $file fi fi } for f in $(find /sys/devices/pci* -name "control") do setauto $f done # Disabling nmi_watchdog has no obvious effect: # echo 0 > /proc/sys/kernel/nmi_watchdog # Turning off USB (instead of leaving auto) appears to have no effect: # (I seem to have lost the commands to do this. Never mind.)
I'll go over this script and see what effect these have and report back.
Leave a comment:
-
I seem to have identified a side effect of doing this. It breaks ethtool. I need to force my ethernet interface to on in order for ethtool to return information:
Code:echo "on" > /sys/devices/pci0000:00/0000:00:19.0/power/control
By the way, Wake On LAN seems to be enabled on my laptop. Since it will never need that feature, I turned it off via "ethtool -s eth0 wol d".
Leave a comment:
-
Originally posted by Cyborg16 View PostBisecting isn't difficult, but it still takes time... lots of time considering there are probably a few thousand commits to go through and half an hour or so per commit with building a kernel and testing.
Originally posted by Cyborg16 View PostAs you can see, I never bothered to learn bash/sh very well. Thanks for that (but I still prefer indentation ;D ).
Originally posted by Cyborg16 View PostI never tried enabling this script at boot (I just run it when I need long(er) battery life). Other than powering down of USB mice I've not noticed side-effects, though I haven't tested much.
Leave a comment:
-
Originally posted by Med_ View PostWell, Cyborg16 already gave all the useful hints. All i did was adding the following to my rc.local:
Code:echo 1 > /sys/module/snd_hda_intel/parameters/power_save for i in /sys/class/scsi_host/host?/link_power_management_policy; do echo min_power > $i done for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i done for i in /sys/bus/{pci,i2c}/devices/*/power/control; do echo auto > $i done
There are lists of tips and tricks online:
This website is for sale! lesswatts.org is your first and best source for all of the information you’re looking for. From general topics to more of what you would expect to find here, lesswatts.org has it all. We hope you find what you are searching for!
Leave a comment:
-
Originally posted by Jonimus View PostWow, all you people are retarded, this was an intel issue and the reason that they disabled that by default is because it was still buggy. Blaming linus for something that was clearly a smart decision by the Intel DRM devs. They chose stability over power consumption, its as easy as that. Its the same thing with the ASPM power regression by defaulting to it being enabled they had issues arise so they had to fix the issues. Yes it sucks for those who didn't have those stability issues with it enabled but at least it has a better chance of it working for those who did.
Also I know for a fact that Michael has said he doesn't report bugs of bisect things because it would take time from writing articles and gathering the data within them. He rarely digs deeper into the issues by doing things like bisecting or finding an linking to relevant upstream bugs, in fact he rarely even links to where to find more info, though once in a while he'll include a link to the relevant ML. The articles only "links" are just links to his older articles, which is fine, but he spams them so much without linking offsite or to sources it seems he is just trying to get more page views and thus more ad revenue rather than trying to actually inform the reader better.
Leave a comment:
-
Originally posted by Cyborg16 View PostI have a T410 and I don't think this generation of lenovo machines have brilliant run-times; the lowest wattage I've got out of my machine is about 10W, but usually it's more like 13W. First tip: use powertop and close high-usage applications. In some cases KDE seems to suck a lot of power (though not always); a simpler DE like LXDE or even gnome 2 may save power. Firefox may not be the best web-browser for power-usage.
Second, here's some notes for driver tuning:
Code:#!/bin/bash # This is a collection of notes about various laptop power-tuning I've found on # the internet and tested on a lenovo T410. # Booting with the pcie_aspm=force kernel option helps: # Force ASPM: # 13.4W idle, 34W glxgears # Without: # 14.6W idle, 35W glxgears # Wifi appears to use about 1.8W # Wifi power saving (enabled by powertop) saves perhaps half a watt # Screen uses perhaps 4.5W more on full brightness than on minimum # These tweaks can only be done by root if [ "$(id -u)" != "0" ]; then echo "This script must be run as root" 1>&2 exit 1 fi # Setting power control of all devices to auto possibly saves about 0.8W (need # to do a better test): # (Note that this appears to disable external mice until you re-plug them in.) setauto() { file=$1 if [[ "$file" =~ 'power' ]] then if [[ "$(cat $file)" != "auto" ]] then echo -n $file: cat $file echo "auto" > $file fi fi } for f in $(find /sys/devices/pci* -name "control") do setauto $f done # Disabling nmi_watchdog has no obvious effect: # echo 0 > /proc/sys/kernel/nmi_watchdog # Turning off USB (instead of leaving auto) appears to have no effect: # (I seem to have lost the commands to do this. Never mind.)
Leave a comment:
-
Originally posted by liam View PostCool, thanks.
I use powertop as well, and my system is pretty similiar to yours (you didn't mention the screen size, but I'll assume 14"-15").
Mine is T510 with M620 (i7 2.66GHz) 15" screen @ 1600x900, intel HD graphics and I'm generally in the 18-20W range while IDLE (with FF/Xchat/evince/etc open). Really odd that I'm running through so much more power.
What configuration did you do?
Best/Liam
Code:echo 1 > /sys/module/snd_hda_intel/parameters/power_save for i in /sys/class/scsi_host/host?/link_power_management_policy; do echo min_power > $i done for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i done for i in /sys/bus/{pci,i2c}/devices/*/power/control; do echo auto > $i done
Leave a comment:
-
Originally posted by Shining Arcanine View PostYou can still contribute if you learn to build your own kernel and bisect regressions. It doesn't require programming knowledge and those of us with the knowledge, but not the time to bisect, could look at it.
I have the inverse problem. I know C, but not how to bisect and I have little time to learn. :/
I was looking into these things last night. You can make that command a one liner:
Code:for i in $(find /sys/devices/pci* -wholename "/sys/devices/pci*/power/control"); do if [[ "$(cat $i)" == "on" ]]; then echo "auto" > $i; fi; done;
I am still testing this to find out if it is safe on my laptop. This appears to affect all devices listed under lspci, plus some attached usb devices.
Leave a comment:
Leave a comment: