After going from CentOS 5.7 to 6.2, a lot of things turned out to be much better, but there are also quite some regressions. The most obvious one is power consumption on my notebook. It was notably lower before.
The ASPM issue introduced in 2.6.38 was widely reported and discussed, and the 6.2 kernel has exacatly this code as a backport.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdif...
So I started to experiment with the upstream patch:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdi...
To make it apply, one needs to change 'pci_is_pcie(pdev)' into 'pdev->is_pcie'. One also needs to fiddle a little with the first chunk.
I came up with the patch attached, but unfortunately the new kernel showed no improvement. Most probably I got something wrong.
Anyone else here who tried this or is interested in sorting this out?
Thanks, Michael
On 12-02-12 23:57, Michael Lampe wrote:
After going from CentOS 5.7 to 6.2, a lot of things turned out to be much better, but there are also quite some regressions. The most obvious one is power consumption on my notebook. It was notably lower before.
The ASPM issue introduced in 2.6.38 was widely reported and discussed, and the 6.2 kernel has exacatly this code as a backport.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdif...
So I started to experiment with the upstream patch:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdi...
To make it apply, one needs to change 'pci_is_pcie(pdev)' into 'pdev->is_pcie'. One also needs to fiddle a little with the first chunk.
I came up with the patch attached, but unfortunately the new kernel showed no improvement. Most probably I got something wrong.
Anyone else here who tried this or is interested in sorting this out?
Iirc to enable ASPM on Fedora the kernel must be booted with pcie_aspm=force. Maybe you need to use that option too? For more info see: http://www.phoronix.com/scan.php?page=article&item=linux_aspm_solution&a...
Regards, Patrick
Patrick Lists wrote:
Iirc to enable ASPM on Fedora the kernel must be booted with pcie_aspm=force. Maybe you need to use that option too? For more info see: http://www.phoronix.com/scan.php?page=article&item=linux_aspm_solution&a...
That's no general solution. It may work, but (e.g.) it doesn't work for me on my Thinkpad X301. There are side-effects.
The idea of the upstream patch is to mimic Windows:
With 3.2.5 "ASPM disabled" means: When the ACPI says ASPM is disabled Linux will leave it alone, which is what Windows is doing. The assumption is that explicitly disabling ASPM is more problematic than doing nothing."
(Copied somewhere from LKML.)
In other words: my BIOS is broken. But it's broken for all Lenovo Notebooks. So ...
On 02/13/2012 12:39 PM, Michael Lampe wrote:
Patrick Lists wrote:
Iirc to enable ASPM on Fedora the kernel must be booted with pcie_aspm=force. Maybe you need to use that option too? For more info see: http://www.phoronix.com/scan.php?page=article&item=linux_aspm_solution&a...
That's no general solution. It may work, but (e.g.) it doesn't work for me on my Thinkpad X301. There are side-effects.
The idea of the upstream patch is to mimic Windows:
With 3.2.5 "ASPM disabled" means: When the ACPI says ASPM is disabled Linux will leave it alone, which is what Windows is doing. The assumption is that explicitly disabling ASPM is more problematic than doing nothing."
(Copied somewhere from LKML.)
In other words: my BIOS is broken. But it's broken for all Lenovo Notebooks. So ...
So for those of us that do not understand the intricacies of ASPM / BIOS / ACPI, how do we ensure we are getting the best (least) power consumption? I have a new ASUS G73S with i7 8 core processor - running CentOS 6.2 and loving it - no idea if this has or does not have ASPM support. What do I need to do to test / check?
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Rob Kampen wrote:
So for those of us that do not understand the intricacies of ASPM / BIOS / ACPI, how do we ensure we are getting the best (least) power consumption?
Hey! I was asking for people who can help me backport the upstream fix!
I have a new ASUS G73S with i7 8 core processor - running CentOS 6.2 and loving it - no idea if this has or does not have ASPM support. What do I need to do to test / check?
(Nothing. You have a fine battery!)
- dmesg | grep -i aspm - lspci -vvv | grep -i aspm - ... - google, phoronix, etc. - ...
Michael Lampe wrote:
Iirc to enable ASPM on Fedora the kernel must be booted with pcie_aspm=force. Maybe you need to use that option too? For more info see: http://www.phoronix.com/scan.php?page=article&item=linux_aspm_solution&a...
That's no general solution. It may work, but (e.g.) it doesn't work for me on my Thinkpad X301. There are side-effects.
The idea of the upstream patch is to mimic Windows:
With 3.2.5 "ASPM disabled" means: When the ACPI says ASPM is disabled Linux will leave it alone, which is what Windows is doing. The assumption is that explicitly disabling ASPM is more problematic than doing nothing."
(Copied somewhere from LKML.)
[addendum]
The point is: we are in a grey zone here. "pcie_aspm=force" is one extreme, the current default behaviour being the other one (explicit disabling!). The BIOS sets up something in-between and then says on inquiry: "Never did I do anything! I'm not responsible!".
Michael Lampe wrote:
In other words: my BIOS is broken. But it's broken for all Lenovo Notebooks. So ...
It seems mine is particularly broken: The BIOS isn't even lying, it realy disables ASPM!
That at least is my conclusion after looking at this
https://wiki.edubuntu.org/Kernel/PowerManagementASPM
and a closer inspection of 'lspci -vvv'.
The backported patch may be correct after all.
It may be a candiate for centosplus kernel.
If someone else wants to test: I can upload a kernel with this patch applied.
-Michael