From db9c8a82031fa583dc50c18084fe3ca7b47cef4f Mon Sep 17 00:00:00 2001 From: Philip Knirsch Date: Thu, 18 Mar 2010 14:28:48 +0100 Subject: [PATCH] - Updated ALPM powersave code in the various powersave profiles - Disabled USB autosuspend in laptop-battery-powersave for now --- tune-profiles/desktop-powersave/ktune.sh | 24 +++++++++---------- tune-profiles/laptop-ac-powersave/ktune.sh | 24 +++++++++---------- .../laptop-battery-powersave/ktune.sh | 4 ++-- tune-profiles/server-powersave/ktune.sh | 24 +++++++++---------- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/tune-profiles/desktop-powersave/ktune.sh b/tune-profiles/desktop-powersave/ktune.sh index d13fc81..d8ec369 100755 --- a/tune-profiles/desktop-powersave/ktune.sh +++ b/tune-profiles/desktop-powersave/ktune.sh @@ -1,18 +1,18 @@ #!/bin/sh -ALPM="medium_power" +ALPM="min_power" -# Set ALPM for all host adapters that support it set_alpm() { - for x in /sys/bus/scsi/devices/host*/scsi_host/host*/; do - hotplug="0" - if [ -e $x/sata_hotplug ]; then - hotplug="$(cat $x/sata_hotplug)" - fi - if [ "$hotplug" == "0" -a -e $x/link_power_management_policy ]; then - echo $1 > $x/link_power_management_policy - fi - done + for x in /sys/class/scsi_host/*; do + if [ -f $x/ahci_port_cmd ]; then + port_cmd=`cat $x/ahci_port_cmd`; + if [ $((0x$port_cmd & 0x240000)) = 0 -a -f $x/link_power_management_policy ]; then + echo $1 >$x/link_power_management_policy; + else + echo "max_performance" >$x/link_power_management_policy; + fi + fi + done } start() { @@ -22,7 +22,7 @@ start() { # Disable ALPM for all host adapters that support it stop() { - set_alpm "max_power" + set_alpm "max_performance" return 0 } diff --git a/tune-profiles/laptop-ac-powersave/ktune.sh b/tune-profiles/laptop-ac-powersave/ktune.sh index d13fc81..d8ec369 100755 --- a/tune-profiles/laptop-ac-powersave/ktune.sh +++ b/tune-profiles/laptop-ac-powersave/ktune.sh @@ -1,18 +1,18 @@ #!/bin/sh -ALPM="medium_power" +ALPM="min_power" -# Set ALPM for all host adapters that support it set_alpm() { - for x in /sys/bus/scsi/devices/host*/scsi_host/host*/; do - hotplug="0" - if [ -e $x/sata_hotplug ]; then - hotplug="$(cat $x/sata_hotplug)" - fi - if [ "$hotplug" == "0" -a -e $x/link_power_management_policy ]; then - echo $1 > $x/link_power_management_policy - fi - done + for x in /sys/class/scsi_host/*; do + if [ -f $x/ahci_port_cmd ]; then + port_cmd=`cat $x/ahci_port_cmd`; + if [ $((0x$port_cmd & 0x240000)) = 0 -a -f $x/link_power_management_policy ]; then + echo $1 >$x/link_power_management_policy; + else + echo "max_performance" >$x/link_power_management_policy; + fi + fi + done } start() { @@ -22,7 +22,7 @@ start() { # Disable ALPM for all host adapters that support it stop() { - set_alpm "max_power" + set_alpm "max_performance" return 0 } diff --git a/tune-profiles/laptop-battery-powersave/ktune.sh b/tune-profiles/laptop-battery-powersave/ktune.sh index 9672c52..5baef3c 100755 --- a/tune-profiles/laptop-battery-powersave/ktune.sh +++ b/tune-profiles/laptop-battery-powersave/ktune.sh @@ -20,7 +20,7 @@ start() { set_alpm ${ALPM} # Enables USB autosuspend for all devices - for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done > /dev/null 2>&1 + #for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done > /dev/null 2>&1 # Enables multi core power savings for low wakeup systems [ -e /sys/devices/system/cpu/sched_mc_power_savings ] && echo 1 > /sys/devices/system/cpu/sched_mc_power_savings @@ -44,7 +44,7 @@ stop() { set_alpm "max_performance" # Disables USB autosuspend for all devices - for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 0 > $i; done > /dev/null 2>&1 + #for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 0 > $i; done > /dev/null 2>&1 # Disables multi core power savings for low wakeup systems [ -e /sys/devices/system/cpu/sched_mc_power_savings ] && echo 0 > /sys/devices/system/cpu/sched_mc_power_savings diff --git a/tune-profiles/server-powersave/ktune.sh b/tune-profiles/server-powersave/ktune.sh index d13fc81..d8ec369 100755 --- a/tune-profiles/server-powersave/ktune.sh +++ b/tune-profiles/server-powersave/ktune.sh @@ -1,18 +1,18 @@ #!/bin/sh -ALPM="medium_power" +ALPM="min_power" -# Set ALPM for all host adapters that support it set_alpm() { - for x in /sys/bus/scsi/devices/host*/scsi_host/host*/; do - hotplug="0" - if [ -e $x/sata_hotplug ]; then - hotplug="$(cat $x/sata_hotplug)" - fi - if [ "$hotplug" == "0" -a -e $x/link_power_management_policy ]; then - echo $1 > $x/link_power_management_policy - fi - done + for x in /sys/class/scsi_host/*; do + if [ -f $x/ahci_port_cmd ]; then + port_cmd=`cat $x/ahci_port_cmd`; + if [ $((0x$port_cmd & 0x240000)) = 0 -a -f $x/link_power_management_policy ]; then + echo $1 >$x/link_power_management_policy; + else + echo "max_performance" >$x/link_power_management_policy; + fi + fi + done } start() { @@ -22,7 +22,7 @@ start() { # Disable ALPM for all host adapters that support it stop() { - set_alpm "max_power" + set_alpm "max_performance" return 0 }