http://www.fewt.com/2011/09/about-kernel-30-power-regression-myth.html

_____________________________________________________________________________

About the Kernel 3.0 "Power Regression" Myth
Oh boy, here we go again.  LOLPhoronix has yet another article
proclaiming that the Linux Kernel has a "power regression".

Those Kernel developer losers aren't doing ANYTHING about it either!
Oh the HUMANITY! /drama

Oh, and by the way it's really bad now.  We are losing ~50%!!!  Would
you believe it?  A power regression so bad that Portable Linux users
running Kernel 3.0.x are losing over 50% of our battery life!

Uhh, no, we aren't.

There is no such thing as this power "regression" in the kernel.
There was a patch to a bug found by RedHat related to how the kernel
enables ASPM.  The bug caused a group of computers effected to crash
when the BIOS reported that ASPM wasn't supported, but ASPM was
enabled in hardware (RHEL-681017).  The fix was too instruct ASPM to
go to an off state if the BIOS reported it wasn't supported rather
than leaving it default.  This fixed the instability issue causing
systems to crash.

More information on the subject:

http://lwn.net/Articles/449448/
http://lwn.net/Articles/449648/

HOWEVER, forcing ASPM to turn off on systems that report that it is
unsupported caused a slight loss in power savings.  It was a sacrifice
necessary to prevent systems from crashing.

IT WAS THE RIGHT THING TO DO.

also

IT IS NOT A REGRESSION.

One reason that is is not a regression is that the kernel's exposed
tuneable parameters for power management are not dynamic.  This means
that when you boot up either with a power cord connected or on battery
your kernel boots into the same state.

The kernel by default is optimized for performance, and not power savings.

An example of this would be dirty_writeback_centisecs. This parameter
specifies the time in 100ths of a second where pdflush wakes up and
writes cached data out to disk.  By default it is set to 500 which is
optimal for performance but sub optimal for battery life.  A much more
sane value when on battery is 1500.  Unfortunately, the parameter does
not change "automatically" when you unplug.

Other examples would be parameters like nmi_watchdog,
sched_smt_power_savings, and snd_hda_intel/parameters/power_save.

This is where a tool like Jupiter or tuned comes in, these tools are
designed to alter the state of the kernel to optimize the system for
performance when plugged in, and battery life when unplugged.  In the
case of Jupiter, not only do I change multiple kernel parameters, but
I also change the power state of (supported) devices to shift them to
power savings mode.

I tried to explain to Michael why he was wrong, but Michael Larabel
ignores reason choosing instead to continue to poison Linux users into
believing the sky is falling when it isn't.

For those that do see a small loss in battery life and are willing to
risk stability for a few extra minutes unplugged, there is a
workaround.

Set 'pcie_aspm=force' on the kernel command line of grub.conf, reboot,
and move on with life.

To see if you have a bad BIOS, look at
/sys/module/pcie_aspm/parameters/policy.  If it says 'default', you
probably unfortunately have a computer that is reporting that ASPM is
unsupported.

If you have a laptop or netbook, and you want optimal battery life,
install Jupiter or tuned and get on with your life.

The remaining complaints Michael blindly points at the kernel are most
likely configuration problems in the Ubuntu distribution itself (Unity
or other application maybe), in the Xorg video driver stack shipping
with Ubuntu, or operator error.

No offense to Ubuntu intended, it just honestly isn't well optimized
for portable computers.  Even the older netbook remixes were just a
different GUI bolted onto a default install.  I should know, I spent a
lot of my personal time optimizing it for Eee PCs which eventually led
to my being invited to join the Eeebuntu project (now called Aurora).

If you are looking at powertop and you are seeing crazy wakeups, look
at what you have running and what you are doing.

If you see things like applications (Chromium, Firefox, Thunderbird,
Terminals, shell scripts, etc), congrats - you are doing it wrong.

Thanks to the Ubuntu Forums member that pointed out bug #760131 the
bug report is a fine example of doing it wrong.  I stopped counting at
347 process or device interrupts.  It's a busy system, busy systems
don't have IDLE CPUs.  Not a bug!

Every process, keystroke, mouse movement, etc causes a wakeup, some
cause tens or hundreds of wakeups per second.  If you want to test for
wakeups, you need to close EVERYTHING except the base desktop (clean
boot recommended), open a terminal, unplug, and start powertop as
root.

Now .. walk away for ~15 minutes.

Still seeing crazy wakeups?  Probably not.

Michael Larabel would be far more helpful to the community if he would
learn how to properly identify and test for these sorts of problems
and report them through the proper channels.  He is more interested
though in driving clicks to his website, and the best way to do that
is through fear, uncertainty, and doubt.

If he cared about the community, you would see his participation about
his fabled ASPM "regression" on the Linux Kernel Mailing List.  If he
were to post about the myth he created there though, he would probably
be eaten alive .. and deservedly s


______________________________________________________________


Best

A. Mani




-- 
A. Mani
CU, ASL, CLC,  AMS, CMS
http://www.logicamani.co.cc

_______________________________________________
Ilugd mailing list
Ilugd@lists.linux-delhi.org
http://frodo.hserus.net/mailman/listinfo/ilugd

Reply via email to