This is common to multiple thinkpad models, using it on the x200 and T510. 'powertop' is a useful advisor, strace helps to find out what powertop is doing. I use the following in /etc/rc.local .
These are the static settings, based on the recommendations from powertop.
# some of these might not apply to your hardware (i.e. different sound chip) or have # sideeffects (i.e. sleeping sata no longer detecting when discs are exchanged # powersave for intel hda sound echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller echo 1 > /sys/module/snd_hda_intel/parameters/power_save # SATA Link Power Management: for i in /sys/class/scsi_host/host[01234]/link_power_management_policy; do echo min_power >$i; done # usb devices for i in /sys/bus/usb/devices/*/power/control; do echo auto >$i; done # WLAN power management iwconfig wlan0 power on # disable nmi watchdog, also possible via kernel option echo 0 >/proc/sys/kernel/nmi_watchdog # Disable WakeOnLan ethtool -s eth0 wol d ethtool -s em1 wol d # increase VM Writeback echo 1500 > /proc/sys/vm/dirty_writeback_centisecs # Runtime PM for PCI Device Intel Corporation for i in $(ls -1 /sys/devices/pci0000\:00/*/power/control); do echo auto >$i; done echo auto >/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/power/control echo auto >/sys/devices/pci0000:00/0000:00:1c.4/0000:0d:00.0/power/control echo auto >/sys/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/power/control
These are the static settings, based on the recommendations from powertop.
# some of these might not apply to your hardware (i.e. different sound chip) or have # sideeffects (i.e. sleeping sata no longer detecting when discs are exchanged # powersave for intel hda sound echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller echo 1 > /sys/module/snd_hda_intel/parameters/power_save # SATA Link Power Management: for i in /sys/class/scsi_host/host[01234]/link_power_management_policy; do echo min_power >$i; done # usb devices for i in /sys/bus/usb/devices/*/power/control; do echo auto >$i; done # WLAN power management iwconfig wlan0 power on # Power Aware CPU scheduler: echo 1 >/sys/devices/system/cpu/sched_mc_power_savings echo 1 >/sys/devices/system/cpu/sched_smt_power_savings # disable nmi watchdog, also possible via kernel option echo 0 >/proc/sys/kernel/nmi_watchdog # Disable WakeOnLan ethtool -s eth0 wol d ethtool -s em1 wol d # increase VM Writeback echo 1500 > /proc/sys/vm/dirty_writeback_centisecs # Runtime PM for PCI Device Intel Corporation for i in $(ls -1 /sys/devices/pci0000\:00/*/power/control); do echo auto >$i; done echo auto >/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/power/control echo auto >/sys/devices/pci0000:00/0000:00:1c.4/0000:0d:00.0/power/control echo auto >/sys/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/power/control
Possibly useful kernel options from http://www.phoronix.com/scan.php?page=article&item=intel_i915_power&num=1 :