No announcement yet.

The Leading Cause Of The Recent Linux Kernel Power Problems

  • Filter
  • Time
  • Show
Clear All
new posts

  • #51
    Originally posted by Rabauke View Post
    As far as I got it now:

    If the kernel disables ASPM, it's a BIOS bug (on newer systems)?
    I got a Thinkpad 410. So I request Lenovo to fix that?
    I have a Lenovo Thinkpad T520 and I have the same situation. I think I will call Lenovo about this.

    By the way, power consumption dropped from about 26 watts to 15 watts, which is about a 40% difference. Estimates on battery life increased from 5 hours to 8 hours, which is in-line with the battery life figures that I have seen on review sites. This is a new Sandy Bridge Optimus notebook that I purchased last month, so I was affected by the regression on day 1.


    • #52
      FWIW, neither of my main systems appears to have the bug. I get:

      [[email protected] cheese (f15 %)]$ cat /sys/module/pcie_aspm/parameters/policy
      default performance [powersave]

      indicating that powersave is the current policy, I guess, on both my laptop (Sony Vaio Z) and desktop (Asus P8P67 Deluxe mobo), running 2.6.38 kernels with no special parameters.


      • #53
        Originally posted by ahlaht View Post
        $ sudo echo powersave > /sys/module/pcie_aspm/parameters/policy
        bash: echo: write error: Operation not permitted
        I think you should type that as root, not with sudo. BTW I'm not getting this error, but:
        $ sudo echo powersave > /sys/module/pcie_aspm/parameters/policy 
        bash: /sys/module/pcie_aspm/parameters/policy: Permission denied
        However, as root, I'm getting what you wrote:
        # echo powersave > /sys/module/pcie_aspm/parameters/policy
        bash: echo: write error: Operation not permitted


        • #54
          I've just tried on my Gigabyte H55N-USB3 mobo, no improvement at all here. Still 49W idle (even after setting /sys/module/pcie-aspm/etc. to powersave.) No improvement either when the CPU is in heavy use, or when running "vblank_mode=0 glxgears".

          I don't have any PCIe card though, if that matters.


          • #55
            So I take it this bug doesn't effect you if you have on processor graphics such as sandy bridge?


            • #56
              Originally posted by stqn View Post
              I think you should type that as root, not with sudo.
              Yes, you are right. Perhaps I wrote the command wrong. I don't actually use sudo myself. I assume something like this should work with sudo:

              $ sudo sh -c "echo powersave > /sys/module/pcie_aspm/parameters/policy"


              • #57
                I'd definitely pay some extra euros for a phoronix approved BIOS/Coreboot implementation. But I usually buy extraordinary hardware like my Raon Everun Note - small companies that have problems to get their things out even with glitches. Still looking for a 7" Z-Series APU device (200 x 120 mm max.).


                • #58
                  Originally posted by esquio View Post
                  As some people have seen, for some equipment setting pcie_aspm=force
                  doesn't enable ASPM (I've a HP i5 laptop also). Message is:
                  [ 0.000000] PCIe ASPM is forcedly enabled -> (Result of pcie_aspm=force)
                  [ 0.809691] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
                  -> (Result of crap ACPI tables. FADT for beeing more precise)

                  Dumping and disassembling the ACPI tables, and looking into FACP, you can read:
                  PCIe ASPM Not Supported (V4) : 1
                  So the kernel, even when forcing aspm, is disabling it due to not support claimed by the ACPI tables.

                  In my particular case, my laptop (HP with core i5) has been giving me a lot of problems due to bad ACPI tables related to hybrid graphics (DSDT table), and now the power draining pbroblems results from the same.

                  The real origin for most of this problems are related to buggy/crappy ACPI tables made by manufacturers like HP and others. Two reasons arise here for doing that:

                  First is that many manufacturers use Microsoft iasl compiler instead of Intel one, being the MS one more permissive and far less standard compliant than Intel one. Linux uses intel standards, so a problem is reached here. Use of Microsoft compiler gives more compliance with W7 than with ACPI standars, and so is favorable for this purpose. It's like the past problem with IE6 and mozilla with HTML standars, mozilla was close to the standard, but pages were mainly designed for IE.

                  And second, that many manufactures have agreements with MS (Haven't you seen the W7 recommended logo?), so using MS compiler and enhancing the divergence with the standard, or directly giving bad options when no W7 OS could be part of their agreement, as it's easy to demonstrate for some HP laptops.

                  Reaching this point, I think that the real step forward for Linux market share growth,
                  is to have a very strict database of Linux-compliant hardware. Ubuntu has started to do this in:
                  and I'm sure that my next laptop will be from that list.

                  The problem with this list is that it only contains ubuntu certified systems, and probably canonical has no so much equipment to test, so the list, right now, is small.
                  At this point, an effort to develop a live iso cd/usb with a full set of tests that can ensure users that they are buying a Linux-compatible equipment would be very nice.
                  This automated test should automatically report the results and feed a database of certified and not certified equipment for the iso version. This will allow users to chose ubuntu certified equipment (mainly enterprise grade), or test-suite certified equipment, avoiding to buy non-certified equipment, and thus avoiding
                  a lot of bugs and developer efforts.

                  If the iso test-suite is fully automated and works well, I could expect that many people like me, and even vendors will run it in their selling equipment, and so, It could reach a point (If MS lets that happens) that some manufacturers stop their policies of ACPI sabotage.

                  Think twice, problems like this, hybrid, and other never would happen without the ACPI crap/buggy/sabotage tables by makers.
                  Now what if you rebuild the ACPI tables with the Intel iasl and override the broken table with the rebuilt one in the kernel so the broken table is ignored and the kernel uses the patched/recompiled table?

                  I remember there's a kernel option somewhere that lets you override the BIOS's ACPI tables with tables you compiled yourself and I forgot what it is called.


                  • #59
                    Originally posted by DeepDayze View Post
                    I remember there's a kernel option somewhere that lets you override the BIOS's ACPI tables with tables you compiled yourself and I forgot what it is called.
                    I think you are just confusing it with the DSDT table..


                    • #60
                      Yes, in old kernels you can override the DSTD table. (only the DSDT, not all the tables),
                      but the option was taked out from kernel some years ago. The reason was that you can really break some things with that.

                      In the present times, I've read that some people that want to run OSX in their PCs, do some kind ok modified tables and BIOSes for their systems, but it's no Linux compatible.

                      About the Linux firmware kit, and the Fedora hardware list (I didn't knew the latter, and it's interesting). Yes, I was refering to some mix of this projects in an automated live iso that tests and send results to a centralized service.

                      About the other point. I know that linux kernel doesn't use the Intel iasl, but it takes ACPI specifications mainly from Intel, and so they have similarities when dealing with no Intel compliant tables (AFAIK)