New donator - thanks, Michael Roach!
[ikiwiki.git] / docs / user / Powersave.mdwn
index 3c1f935..4a7ab55 100644 (file)
@@ -29,7 +29,7 @@ ACPI supports only states up to C3, but modern mobile CPU's support C-states up
 
 My brief experience shows that there is no difference in power consumption whether you are using C4 or lowering a voltage with [est(4)](http://leaf.dragonflybsd.org/cgi/web-man/?command#est&section4). C5 and C6 can make sense in tickless system only (DragonFly isn't such).
 
-You can find more general info about processor C-states [here](http://www.techarp.com/showarticle.aspx?artno#420&pgno5).
+You can find more general info about processor C-states [here](http://www.techarp.com/showarticle.aspx?artno=420&pgno=5).
 
 ## EST
 
@@ -47,6 +47,33 @@ In my Lenovo Thinkpad X61s relevant sysctl's look like this:
 
 Switching to minimums (frequency really doesn't matter in idle machine though) makes ~1.7W difference in power consumption in my idle laptop.
 
+## CPU P states 
+
+Alternatively to EST one can use CPU P states which make the frequency scaling features of the CPU accessible
+through a standardized interface.
+CPU P states work on multicore CPUs and the frequencies can be scaled individually depending on the hardware
+capabilities.
+
+The relevant sysctl's look like this on leaf.dragonflybsd.org:
+
+     $ sysctl hw.acpi.cpu | grep px
+     hw.acpi.cpu.px_dom3.available: 2600 1300
+     hw.acpi.cpu.px_dom3.members: cpu3(2600)
+     hw.acpi.cpu.px_dom3.select: 2600
+     hw.acpi.cpu.px_dom2.available: 2600 1300
+     hw.acpi.cpu.px_dom2.members: cpu2(2600)
+     hw.acpi.cpu.px_dom2.select: 2600
+     hw.acpi.cpu.px_dom1.available: 2600 1300
+     hw.acpi.cpu.px_dom1.members: cpu1(2600)
+     hw.acpi.cpu.px_dom1.select: 2600
+     hw.acpi.cpu.px_dom0.available: 2600 1300
+     hw.acpi.cpu.px_dom0.members: cpu0(2600)
+     hw.acpi.cpu.px_dom0.select: 2600
+     hw.acpi.cpu.px_global: 2600
+
+Both, EST and CPU P states sysctl's can be adjusted automatically depending on the system load with
+sysutils/estd from pkgsrc.
+
 ## Backlight 
 
 Switch backlight to (usable) minimum. There might be several ways to do it, you have to find the one which works for you.
@@ -76,6 +103,16 @@ Savings highly depend on hardware. There are some numbers from my X61s:
 * [ath(4)](http://leaf.dragonflybsd.org/cgi/web-man/?command#ath&section4) - ~0.2W
 * [snd_hda(4)](http://leaf.dragonflybsd.org/cgi/web-man/?command#snd_hda&section4) - ~0.3W
 
-[Here](http://www.techarp.com/showarticle.aspx?artno#420&pgno4) you can find more general info about devices' D-states.
+[Here](http://www.techarp.com/showarticle.aspx?artno=420&pgno=4) you can find more general info about devices' D-states.
+
+## AHCI
+
+Some AHCI host bus adapters have link power management support.
+This feature can be controlled with a per-port sysctl.
+
+     $ sysctl hw.ahci0
+     hw.ahci0.0.link_pwr_mgmt: 2
+
+Enabling AHCI link power management can save ~0.8W.
 
 *More to come ...*