PowerManagementALPM
ALPM
Aggressive Link Power Management (ALPM) is a mechanism where a SATA AHCI controller can put the SATA link that connects to the disk into a very low power mode during periods of zero I/O activity and into an active power state when work needs to be done. Tests show that this can save around 0.5-1.5 Watts of power on a typical system.
ALPM is now available in several SATA controllers that use the Advanced Host Controller Interface (AHCI). However, there is some anecdotal evidence that some controllers may go into a low power state incorrectly and this ends up causing data loss. Ubuntu has the ability to use ALPM but it it disabled by default since it can cause data loss on some machines.
We are looking for volunteers to test ALPM for 2 reasons:
- help to identify typical power savings on a range of machines
- help to identify chipsets (and machines) where ALPM works reliably and also where it is broken and needs fixing.
NOTE: There is a risk in doing these tests. There is a possibility that ALPM may aggressively power down the SATA link prematurely or incorrectly and cause data corruption or loss. YOU HAVE BEEN WARNED!
How to Test
Gather the BIOS version (so that we can differentiate between subtle versions of the same machine) using:
sudo dmidecode -t 0 | grep "Version:"
Gather the kernel version:
uname -a
Gather the SATA AHCI controller information using:
lspci -vn | grep AHCI
..if you do not have an SATA controller that uses AHCI then don't proceed with this test.
Install tools to measure power consumption:
For Quantal and above use:
sudo apt-get install powerstat
For Precise use:
sudo add-apt-repository ppa:colin-king/powermanagement sudo apt-get update sudo apt-get install powerstat
Unplug the power from your laptop/netbook and run the test on battery power taking note of the average power consumption and standard deviation - these are shown at the end of the powerstat run.
sudo pm-powersave true powerstat
Enable ALPM:
echo SATA_ALPM_ENABLE=true | sudo tee /etc/pm/config.d/sata_alpm
If you want to turn ALPM on and off depending on power state, add the following two lines to /etc/pm/config.d/sata_alpm (not needed on Ubuntu 14.04):
SATA_LINKPWR_ON_AC=max_performance SATA_LINKPWR_ON_BAT=min_power
Re-test using powerstat again:
sudo pm-powersave true powerstat
And perhaps exercise you machine (e.g. use it for 24 hours with ALPM enabled) to see if ALPM works correctly without corrupting any data.
If required, remove the ALPM enable setting:
sudo rm /etc/pm/config.d/sata_alpm
Add your findings to the following table (please put name of the machine in sorted alphabetical order). For the power measurements enter the average power consumed and standard deviation data for both test runs.
Machine |
BIOS |
32/64 bit kernel |
Kernel |
AHCI controller |
Power before ALPM enabled |
Power after ALPM enabled |
Notes |
Apple Inc. MacBookPro62 |
MBP61.88Z.0057.B0C.1007261552 |
64 |
3.0.0-14-generic |
no-info? |
17.38 W, σ=0.22 |
17.31 W, σ=0.14 |
OK |
Asus 1001PXD |
0702 |
32 |
3.0.0-14-generic |
00:1f.2 0106: 8086:2829 (rev 02) |
8.33 W ± 0.25 |
7.65 W ± 0.16 |
OK |
Asus 1005P |
1202 |
64 |
3.2.0-20-generic |
00:1f.2 0106: 8086:27c1 (rev 02) (prog-if 01 [AHCI 1.0]) |
6.41W± 0.37 |
5.42 W ± 0.08 |
Works fine |
Asus 1015PE |
0603 |
64 |
3.2.0-5-generic |
00:1f.2 0106: 8086:27c1 (rev 02) (prog-if 01 [AHCI 1.0]) |
7.11 W ± 0.07 |
6.28 W ± 0.06 |
No problems |
Asus X52F |
K52F.218 |
32 |
3.2.0-30-generic-pae |
00:1f.2 0106: 8086:3b29 (rev 06) (prog-if 01 [AHCI 1.0]) |
10.79 W ± 0.44 |
10.76 W ± 0.24 |
No problem yet |
Asus Zenbook UX31 |
UX31E.210 |
64 |
3.2.0-19-generic |
00:1f.2 0106: 8086:1c03 (rev 05) (prog-if 01 [AHCI 1.0]) |
5.94 W ± 0.26 |
5.03 W ± 0.04 |
Works fine |
Asus Zenbook UX31 |
UX31E.212 |
64 |
3.2.0-31-generic |
00:1f.2 0106: 8086:1c03 (rev 05) (prog-if 01 [AHCI 1.0]) |
8.56 W ± 0.55 |
7.73 W ± 0.23 |
Works fine |
Asus Zenbook UX31 |
UX31E.214 |
64 |
3.2.0-37-generic |
00:1f.2 0106: 8086:1c03 (rev 05) (prog-if 01 [AHCI 1.0]) |
5.86 W ± 0.12 |
5.49 W ± 0.13 |
Works fine |
Asus Zenbook Prime UX31A |
UX31A.206 |
32 |
3.2.0-26-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
13.0 W ± 2.51 |
12.86 W ± 1.37 |
Works fine |
Asus Zenbook Prime UX31A |
UX31A.206 |
32 |
3.4.4-030404-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
8.23 W ± 1.45 |
6.88 W ± 0.83 |
Works fine |
Asus Zenbook Prime UX31A |
UX31A.206 |
64 |
3.5.0-17-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
7.90 W ± 0.26 |
7.03 W ± 0.30 |
|
Asus Zenbook Prime UX31A |
UX31A.212 |
64 |
3.2.0-30-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
6.01 W ± 0.19 |
5.34 W ± 0.09 |
No problems |
Asus Zenbook Prime UX31A |
UX31A.215 |
64 |
3.5.0-23-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
7.31 W ± 0.11 |
7.32 W ± 0.08 |
|
Asus Zenbook Prime UX31A |
UX31A.218 |
64 |
3.8.0-22-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
7.71 W ± 0.13 |
7.68 W ± 0.34 |
|
Asus Zenbook Prime UX31A |
UX31A.219 |
64 |
3.13.0-8-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
8.58 W ± 0.96 |
7.48 W ± 0.48 |
|
Asus Zenbook Prime UX32A |
UX32A.206 |
32 |
3.2.0-27-generic-pae |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
11.71 W ± 0.21 |
11.10 W ± 0.35 |
Works fine |
Asus Zenbook Prime UX32VD |
UX32VD.206 |
64 |
3.5.0-15-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
11.86 W ± 0.17 |
10.77 W ± 0.14 |
Worked fine for 2 days. Machine was in suspended mode while not being used. But on rebooting, OS was not accessible. Problem was solved only after re-intsalling Ubuntu. Data could not be recovered. |
Asus Zenbook Prime UX32LN |
UX32LN.203 |
64 |
3.13.0-44-generic |
00:1f.2 0106: 8086:9c03 (rev 04) (prog-if 01 [AHCI 1.0]) |
8.92 W ± 0.15 (Before Power Saving Optimizations) |
4.96 W ± 0.15 (After https://help.ubuntu.com/community/AsusZenbookPrime#PowerOpts) |
Works great with the excellent power saving results (http://www.filedropper.com/asuspowersavingoptimizations). |
Asus X53SV |
K53SV.320 |
64 |
3.2.0-9-generic |
00:1f.2 0106: 8086:1c03 (rev 05) (prog-if 01 [AHCI 1.0]) |
15.49 ± 0.20 |
14.66 ± 0.13 |
OK |
Acer Aspire 5742g |
1.24 |
64 |
3.0.0-14-generic |
00:1f.2 0106: 8086:3b29 (rev 05) |
22.03 ± 0.8 |
20.65 ± 0.6 |
No problems |
Acer Exstensa 5635g |
V1.3311 |
64 |
3.2.0-9-generic |
00:1f.2 0106: 8086:2929 (rev 03) |
11.33 ± 0.27 |
10.04 ± 1.11 |
No problems |
Dell 1330 |
A15 |
32 |
3.0.0-14-generic |
00:1f.2 0106: 8086:27c1 (rev 02) |
18.34 W ± 0.28 |
16.98 W ± 0.33 |
OK |
Dell Inspiron 14z |
A00 |
64 |
3.2.0-30-generic |
00:1f.2 0106: 8086:1c03 (rev 05) (prog-if 01 [AHCI 1.0]) |
9.67 W ± 0.10 |
8.59 W ± 0.29 |
No problems yet |
Dell Inspiron 1501 |
2.3.0 |
64 |
3.5.0-17-generic |
00:12.0 0106: 1002:4380 |
18.53 W σ=0.31 |
18.52 W σ=0.12 |
OK |
Dell Latitude 2110 |
A00 |
32 |
3.2.0-18-generic |
00:1f.2 0106: 8086:27c1 (rev 01) (prog-if 01 [AHCI 1.0]) |
7.04 W ± 0.01 |
5.47 W ± 0.25 |
Works fine |
Dell Inc. Lattitude E6420 |
A06 |
32 |
3.0.0-14-generic-pae |
00:1f.2 0106: 8086:1c03 (rev 04)(prog-if 01 [AHCI 1.0]) |
15.75 W, σ=0.10 |
12.94 W, σ=0.42 |
|
Dell Precision M4800 |
A06 |
64 |
3.11.0-12-generic |
00:1f.2 0106: 8086:8c03 (rev 04) (prog-if 01 [AHCI 1.0]) |
16.41 W, σ=0.27 |
16.32 W, σ=1.10 |
Works fine |
Fujitsu Lifebook S935 |
1.09 |
64 |
3.19.0-21-generic |
00:1f.2 0106: 8086:9c83 (rev 03) (prog-if 01 [AHCI 1.0]) |
7.26, σ=0.73 |
5.36 W, σ=0.51 |
OK |
Gateway NV55S04u |
V1.01 |
64 |
3.0.0-14-generic |
00:11.0 0106: 1022:7801 (progif 01 [AHCI 1.0]) |
7.42 W, σ=0.13 |
6.87 W, σ=0.14 |
|
HPMini 210-1000 |
F.02 |
64 |
3.2.0-3-generic |
00:1f.2 0106: 8086:27c1 (rev 02) |
10.16 W ± 0.06 |
9.35 W ± 0.05 |
OK |
HP Probook 4520s |
68AZZ Ver. F.20 |
64 |
3.5.0-19-generic |
00:1f.2 0106: 8086:3b2f (rev 05) (prog-if 01 [AHCI 1.0]) |
16.01 W, σ=0.27 |
14.98 W, σ=0.28 |
A week after installing FILESYSTEM CORUPTION occured during moving large amount of data to USB drive. Not sure if ALPM was the reason or hard-drive itself. |
HP-TouchSmart-tm2 |
F.25 |
64 |
3.2.0-24-generic-tuxonice |
00:1f.2 0106: 8086:3b29 (rev 05) (prog-if 01 [AHCI 1.0]) |
14.60 W, σ=6.81 |
13.37 W, σ=7.44 |
OK |
Intel Ultrabook |
ACRVMBY1.86C.0094.P02.1207301240 |
64 |
3.5.0-17-generic |
00:1f.2 0106: 8086:1e03 (rev 04) |
11.01W σ=0.07 |
10.45W σ=0.30 |
OK |
Lenovo S12 (IdeaPad) |
21CN22WW |
32 |
3.2.0-32-generic-pae |
00:0b.0 0106: 10de:0ab9 (rev b1) (prog-if 01 [AHCI 1.0]) |
11.31 W ± 0.19 |
10.92 W ± 0.19 |
OK |
Lenovo T410 |
6IET72WW (1.32 ) |
64 |
3.2.0-23-generic |
00:1f.2 0106: 8086:3b2f (rev 06) |
13.00 W ± 1.22 |
12.3 W ± 0.61 |
OK |
Lenovo T410 |
6IET74WW (1.34 ) |
64 |
3.2.0-30-generic |
00:1f.2 0106: 8086:3b2f (rev 06) |
14.37 W ± 1.79 |
11.92 W ± 1.63 |
OK |
Lenovo T420s |
8CET50WW (1.30) |
64 |
3.5.0-17-generic |
00:1f.2 0106: 8086:1c03 (rev 04) |
7.95 W ± 0.12 |
6.86 W ± 0.14 |
I/O-errors at some point |
Lenovo T500 |
6FET71WW (3.01) |
64 |
3.2.0-22-generic |
00:1f.2 0106: 8086:2929 (rev 03) |
13.22 W ± 0.22 |
12.39 W ± 1.5 |
OK |
Lenovo T500 |
6FET85WW (3.15) |
64 |
3.2.0-4-generic |
00:1f.2 0106: 8086:2929 (rev 03) |
13.44 W ± 0.06 |
12.27 W ± 0.24 |
alpm activated on 11.10(3.0.0-14) having hdd problems, 1 current pending sector cnt., coincidence? |
Lenovo T510 |
6MET75WW (1.35 ) |
64 |
3.2.0-3-generic |
00:1f.2 0106: 8086:3b2f (rev 06) |
10.95 W ± 0.06 |
8.76 W ± 0.09 |
Works fine |
Lenovo X121e (Intel) |
8QET53WW (1.14 ) |
32 |
3.0.0-14-generic-pae |
00:1f.2 0106: 8086:1c03 (rev 04) |
10.98 W ± 0.91 |
10.03 W ± 0.49 |
Works fine |
Lenovo X200 |
6DET64WW (3.14 ) |
64 |
3.0.0-14-generic |
00:1f.2 0106: 8086:2929 (rev 03) |
12.29 W |
11.79 W |
Ok |
Lenovo X201 |
6QET52WW (1.22 ) |
64 |
3.2.0-2-generic |
00:1f.2 0106: 8086:3b2f (rev 06) |
22.01 W ± 1.40 |
20.77 W ± 0.53 |
Works fine |
Lenovo X201t |
6QET67WW (1.37 ) |
64 |
3.2.0-19http://www.charlietanksley.net/philtex/editors/-generic |
00:1f.2 0106: 8086:3b2f (rev 06) |
8.03 W ± 0.12 |
7.99 ± 0.09 |
Works fine |
Lenovo X220i |
8DET54WW (1.24) |
64 |
3.0.0-13-generic |
00:1f.2 0106: 8086:1c03 (rev 04) |
16.27 W ± 0.07 |
15.46 W ± 0.06 |
Works fine |
Lenovo X220i |
8DeT56WW (1.26) |
64 |
3.5.0-17-generic |
00.1f.2 0106 8086:1c03 (rev 04) |
9.84 W σ=0.07 |
9.10 W σ=0.05 |
OK |
Lenovo X220 |
8DET51WW (1.21 ) |
64 |
2.6.38-8-generic |
00:1f.2 0106: 8086:1c03 (rev 04) |
9.82 W ± 0.19 |
9.62 W ± 0.11 |
Works fine |
Lenovo X230 |
G2ET33WW (1.13) |
64 |
3.2.0-31-generic |
00:1f.2 0106: 8086:1e03 (rev 04) |
7.71W ± 0.34 |
6.39 ± 0.29 |
Works fine |
Lenovo X230 (i5, 6GB) |
G2ET31WW (1.11) |
64 |
3.5.0-17-generic |
00:1f.2 0106: 8086:1e03 (rev 04) |
8.45W σ=0.05 |
7.70W σ=0.05 |
OK |
Lenovo X230 |
G2ET33WW (1.13) |
64 |
3.4.0-030400-generic |
00:1f.2 0106: 8086:1e03 (rev 04) |
7.25W σ=0.08 |
7.28W σ=0.14 |
|
Lenovo X240 (Intel Core i5-4210U) |
GIET80WW (2.30 ) |
64 |
3.13.0-58-generic |
00:1f.2 0106: 8086:9c03 (rev 04) (prog-if 01 [AHCI 1.0]) |
5.63W σ=0.11 |
4.47W σ=0.04 |
|
Lenovo X61 |
7NETC0WW (2.20) |
32 |
3.0.0-14-generic |
00:1f.2 0106: 8086:2829 (rev 03) |
15.06 W ± 0.18 |
14.38 W ± 0.14 |
Works fine |
Lenovo Z570 |
45CN38WW |
64 |
3.2.0-24-generic |
0:1f.2 0106: 8086:1c03 (rev 05) |
10.40 W ± 0.10 |
9.93 W ± 0.05 |
So far so good |
Samsung 350U2A |
03PY.M019.20110709.WZW |
64 |
3.0.0-13-generic |
00:1f.2 0106: 8086:1c03 (rev 04) |
13.77 W ± 0.5 |
11.82 W ± 0.8 |
Works fine |
Samsung NF210 |
03MY.M029.20101228.JIP |
64 |
3.0.0-14-generic |
00:1f.2 0106: 8086:27c1 (rev 02) |
8.18 W ± 0.8 |
5.20 W ± 0.7 |
Works fine |
Sony Vaio VPCF12S1E/B |
64 |
3.0.0-14-generic |
00:1f.2 0106: 8086:3b2f (rev 05) |
51.21 W ± 3.03 |
46.78 W ± 3.70 |
Works fine - tested with virtual machine on |
|
Sony Vaio VPCF12S1E/B |
64 |
3.0.0-14-generic |
00:1f.2 0106: 8086:3b2f (rev 05) |
32.80 W ± 1.78 |
32.69 W ± 1.52 |
Works fine |
|
Toshiba R700 |
Version 2.20 |
64 |
3.13.0-49-generic |
00:1f.2 0106: 8086:3b2f (rev 06) |
16.79 W ± 4.98 |
13.11 W ± 3.03 |
Works fine |
Toshiba Sat C50 |
Version 1.3 |
64 |
3.13.0-61-generic |
00:1f.2 0106: 8086:1e03 (rev 04) (prog-if 01 [AHCI 1.0]) |
9.99 W ± 0.39 |
8.88 W ± 0.40 |
Works fine |
Kernel/PowerManagementALPM (last edited 2015-08-23 01:31:00 by 67)