public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Andrew Lutomirski <luto@mit.edu>
Cc: linux-kernel@vger.kernel.org, linux-thinkpad@linux-thinkpad.org,
	pm list <linux-pm@lists.linux-foundation.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Subject: Re: High power consumption after suspend/resume cycle
Date: Fri, 2 Oct 2009 23:37:42 +0200	[thread overview]
Message-ID: <200910022337.42283.rjw@sisk.pl> (raw)
In-Reply-To: <cb0375e10910021229x7924ec56o61627ec0f625a70c@mail.gmail.com>

On Friday 02 October 2009, Andrew Lutomirski wrote:
> [Adding cc's to linux-pm and linux-acpi and ]
> 
> On Fri, Oct 2, 2009 at 1:44 PM, Andrew Lutomirski <luto@mit.edu> wrote:
> > Hi all-
> >
> > I'm running a git kernel that's slightly newer than 2.6.32-rc1.
> >
> > First, thanks for all the great work everywhere on laptop power
> > consumption -- on my Lenovo X200s, it looks like Linux is getting
> > close to Windows (Windows wins by about 0.7W, except that its power
> > usage frequently spikes since Windows apparently still doesn't know
> > how to sit still and do nothing, whereas Linux's seems more stable.),
> > even running KDE with compositing enabled and
> > while connected to wifi, at least after some tweaking.
> 
> [fixed irrelevant typo above, too.]
> 
> >
> > There's a catch, though: after a suspend/resume cycle, power
> > consumption goes up by over well over a watt.  (On a system that draws
> > about 7 watts before suspending, that's a big deal.)  I've tried
> > turning off X, suspending with 'echo mem > /sys/power/state' to avoid
> > any distro scripts running, and manually restoring SATA power saving
> > settings, but it still happens.  I even tried unbinding e1000e and
> > both USB drivers, unloading the i2400 (wimax) driver, iwlagn, and
> > iwlcore, and it still happens.  This is 100% reproducible, and I'd be
> > happy to test things.
> >
> > This could be a BIOS bug I suppose (although I'm running the latest
> > BIOS), but Windows 7 does not have this problem at all.
> >
> > Any ideas about what to try or what subsystem to blame?

It's quite hard to say.  Most likely one of devices is put into the full power
state during resume and not put back into the low power state it was in before.

That may be a result of the PCI core handling of resume, which puts all devices
into D0 in order to restore their standard config registers and doesn't put
them into low power states afterwards.

If that's really the case, PCI run-time PM should help here once implemented,
although that's going to take some time to achieve.

Thanks,
Rafael

  reply	other threads:[~2009-10-02 21:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-02 17:44 High power consumption after suspend/resume cycle Andrew Lutomirski
2009-10-02 19:29 ` Andrew Lutomirski
2009-10-02 21:37   ` Rafael J. Wysocki [this message]
2009-10-03 15:58     ` Andrew Lutomirski
2009-10-04  9:17   ` The Holy ettlz
2009-11-21 19:05 ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200910022337.42283.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=linux-thinkpad@linux-thinkpad.org \
    --cc=luto@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox