
http://en.wikipedia.org/wiki/Active_State_Power_Management How much power is ASPM likely to save and how much will it slow things down? It seems to me that devising a good benchmark for such things isn't going to be easy, determining how to get a device into ASPM mode may be difficult and then measuring the overhead of enabling it as part of a more complex (and interesting to the user) task is also going to be difficult. I think that all systems I run only use PCIe cards for video. The "lspci" command indicates that the "PCI" bus is used for bridging to USB, for on-board video, and for on-board Ethernet. Would that bus be PCI or PCIe? If the latter then would ASPM apply to on-motherboard stuff? http://www.wgdd.de/2013/08/hp-n54l-microserver-energy-efficiency.html I was reading the above blog post about reducing power use and it mentioned the pcie_aspm=force kernel option. I had previously used that option on a Thinkpad which was defective in some way related to CPU power use and had assumed that the option was only for defective systems, but maybe it can also be used productively on systems that aren't broken. Would it be worth adding to other systems? [ 0.226914] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' One of my systems with PCIe (a Core i5 760) has the above in the kernel message log on boot. Nov 20 20:47:35 server kernel: [ 0.107154] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 4 00:03:23 server kernel: [ 0.167361] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 5 00:08:23 server kernel: [ 0.167351] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 6 00:03:31 server kernel: [ 0.167357] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 6 03:26:48 server kernel: [ 0.176181] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 7 21:22:52 server kernel: [ 0.111263] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 7 21:22:52 server kernel: [ 0.180896] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) Nov 7 21:54:02 server kernel: [ 0.111336] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 7 21:54:02 server kernel: [ 0.180842] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) Nov 9 00:03:55 server kernel: [ 0.111140] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 9 00:03:55 server kernel: [ 0.180746] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) Nov 9 00:13:16 server kernel: [ 0.111339] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 9 00:13:16 server kernel: [ 0.180893] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) Nov 9 00:16:55 server kernel: [ 0.111343] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 9 00:16:55 server kernel: [ 0.180962] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) Nov 9 00:20:11 server kernel: [ 0.102219] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Nov 10 09:57:25 server kernel: [ 0.102039] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it Oct 29 00:03:53 server kernel: [ 0.167350] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Oct 30 00:06:30 server kernel: [ 0.167354] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 1 00:04:47 server kernel: [ 0.167351] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 2 00:03:37 server kernel: [ 0.167355] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM Nov 3 00:16:07 server kernel: [ 0.167356] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM A new Dell PowerEdge T110 server with a i3-3220 CPU has the above in it's message log, I guess there's nothing I can do there. I've also got similar messages in the log on a Dell PowerEdge T105, I guess Dell just doesn't like supporting such things. I've also got a system with a Q8400 CPU and one with a E7300 that have no messages related to ASPM. Would it hurt to try forcing it and see what happens? Note that as I'm using BTRFS all the systems in question run kernel 3.10 or 3.11. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

Russell Coker <russell@coker.com.au> writes:
I think that all systems I run only use PCIe cards for video.
At least one generation of intel boards used PCIe as the backplane. Newer ones use quickpath, IIRC. Older ones used PCI. In other words, if you have disks plugged into the southbridge, they could well be using PCIe even though they're not plugged into a user-pluggable PCIe slot. Likewise for onboard NICs, etc.
The "lspci" command indicates that the "PCI" bus is used for bridging to USB, for on-board video, and for on-board Ethernet. Would that bus be PCI or PCIe?
I don't know a way to tell PCI from PCIe on a running system. Your best bet is probably to look up what the northbridge chipset is, then ask Wikipedia what backplane that northbridge typically shipped with.
I was reading the above blog post about reducing power use and it mentioned the pcie_aspm=force kernel option. I had previously used that option on a Thinkpad which was defective in some way related to CPU power use and had assumed that the option was only for defective systems, but maybe it can also be used productively on systems that aren't broken.
Would it be worth adding to other systems?
I vaguely remember using it on me Eee PC 1008 as part of a general power-saving cleanup, but I don't remember if I ever measured any benefit from that specific option. Possibly powertop suggested it.

On Fri, Nov 29, 2013 at 05:59:43PM +1100, Trent W. Buck wrote:
Russell Coker <russell@coker.com.au> writes:
The "lspci" command indicates that the "PCI" bus is used for bridging to USB, for on-board video, and for on-board Ethernet. Would that bus be PCI or PCIe? I don't know a way to tell PCI from PCIe on a running system.
in 'lspci -vvv' LnkSta: Speed 2.5GT/s, Width x1, ... is 1 lane of Gen1 PCIe. I suspect all the PCI ids without speed/width listed are plain old PCI. cheers, robin
participants (3)
-
Robin Humble
-
Russell Coker
-
trentbuck@gmail.com