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

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 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

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 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

R1110Y6

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

R1110Y6

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

Kernel/PowerManagementALPM (last edited 2014-03-06 00:16:21 by sjeshurun)