From: Jeff Garrett <jeff@jgarrett.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: linux-kernel@vger.kernel.org, Len Brown <lenb@kernel.org>,
linux-acpi@vger.kernel.org
Subject: Re: acpi_idle: Very idle Core i7 machine never enters C3
Date: Fri, 5 Feb 2010 10:09:00 -0600 [thread overview]
Message-ID: <20100205160900.GA2736@jgarrett.org> (raw)
In-Reply-To: <87y6jkee1b.fsf@basil.nowhere.org>
On Tue, Jan 26, 2010 at 10:45:20PM +0100, Andi Kleen wrote:
> jeff@jgarrett.org (Jeff Garrett) writes:
>
> > Hi,
> >
> > I was trying to chase down a theory that my desktop machine (a core i7)
> > is running warm (the fan sounds like it's at full speed all the time,
> > and I think it's not always acted this way -- hence the theory).
> >
> > powertop is never showing it spending any time in C3...
> >
> > I compiled a kernel without USB/sound/radeon, and ran without X. I was
> > able to get the wakeups/sec down below 20, but no time is spent in C3.
>
> [...]
> > This may be a complete red herring, but I added some printk logic to
> > acpi_idle_bm_check(), and it is getting called often, but bm_status is
> > always 1. [I infer from this that the idle logic is trying to go into
> > C3, but this check is stopping it... Unless I misread something.]
>
> Normally a Core i7 (or any modern Intel systems) should not use
> bm_check at all. That's only for older systems that didn't support
> MWAIT with c-state hint, but relied on the old port based interface.
bm_check = 1, bm_control = 0
I don't know what any of this means. :)
I tried changing processor_idle.c. It reads (for C3):
1106 state->enter = pr->flags.bm_check ?
1107 acpi_idle_enter_bm :
1108 acpi_idle_enter_simple;
So it always calls acpi_idle_enter_bm in my case. I tried modifying it
to call acpi_idle_enter_simple for entering C3 instead. When I did
this, it did make it into C3 according to powertop, but the wakeups per
second grew by at least 10x. I couldn't get that below ~400-800/s, and
the residency in C3 was limited to about ~50%, as reported by powertop.
> So something is already confused there.
Might just be me. :)
> I think it should still work though.
> Of course if you really have a lot of bus mastering in the background
> then yes there will be no C3.
>
> -Andi
I have no idea what counts as bus mastering (is it just DMA transfers to
PCI devices?)... But with a fairly idle system, with things like USB
configured out, what could be doing it if it exists? Would there be
some nice function I could instrument with a few printk's to, to see? I
compiled with PCI_DEBUG=y, and "bus master" doesn't show up in the
dmesg.
-Jeff
next prev parent reply other threads:[~2010-02-05 16:09 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 8:47 acpi_idle: Very idle Core i7 machine never enters C3 Jeff Garrett
2010-01-26 12:41 ` peng huang
2010-01-26 12:41 ` peng huang
2010-01-26 14:59 ` Jeff Garrett
2010-01-26 14:59 ` Jeff Garrett
2010-01-27 13:27 ` peng huang
2010-01-27 13:27 ` peng huang
2010-02-05 16:22 ` Jeff Garrett
2010-02-05 16:22 ` Jeff Garrett
2010-01-26 21:45 ` Andi Kleen
2010-01-26 21:45 ` Andi Kleen
2010-02-05 16:09 ` Jeff Garrett [this message]
2010-02-05 17:45 ` Len Brown
2010-02-05 20:53 ` Jeff Garrett
2010-04-27 2:40 ` Philip Langdale
2010-04-27 7:26 ` Len Brown
2010-04-27 15:41 ` Philip Langdale
2010-04-27 12:47 ` Jeff Garrett
2010-04-30 14:57 ` Philip Langdale
2010-04-30 14:57 ` Philip Langdale
2010-04-30 16:25 ` Len Brown
2010-04-30 17:44 ` Matthew Garrett
2010-04-30 18:35 ` Philip Langdale
2010-04-30 18:35 ` Philip Langdale
2010-05-25 5:43 ` Len Brown
2010-05-25 5:59 ` Yu, Luming
2010-05-25 12:39 ` Matthew Garrett
2010-05-25 12:43 ` Matthew Garrett
2010-05-25 12:43 ` Matthew Garrett
2010-05-25 15:33 ` Len Brown
2010-05-25 18:55 ` Matthew Garrett
2010-07-21 21:31 ` [PATCH] ACPI: make acpi_idle Nehalem-aware Len Brown
2010-07-22 0:53 ` Venkatesh Pallipadi
2010-07-22 0:53 ` Venkatesh Pallipadi
2010-07-22 7:47 ` Andi Kleen
2010-07-22 15:57 ` Len Brown
2010-07-22 21:21 ` [PATCH] ACPI: skip checking BM_STS if the BIOS doesn't ask for it Len Brown
2010-07-22 21:40 ` [PATCH] ACPI: create "processor.bm_check_disable" boot param Len Brown
2010-07-26 7:24 ` Andi Kleen
2010-07-26 7:24 ` Andi Kleen
2010-07-27 0:19 ` Len Brown
2010-07-27 11:28 ` Andi Kleen
2010-07-28 18:58 ` Len Brown
2010-07-22 21:25 ` [PATCH] ACPI: make acpi_idle Nehalem-aware Iain
2010-07-22 21:53 ` Iain
2010-07-22 22:01 ` Len Brown
2010-07-23 12:40 ` Iain
2010-08-03 6:55 ` Pavel Machek
2010-08-03 7:05 ` Andi Kleen
2010-05-25 12:37 ` acpi_idle: Very idle Core i7 machine never enters C3 Matthew Garrett
2010-05-25 15:40 ` Len Brown
2010-07-22 5:34 ` Len Brown
2010-02-01 14:10 ` Pavel Machek
2010-02-05 16:30 ` Jeff Garrett
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=20100205160900.GA2736@jgarrett.org \
--to=jeff@jgarrett.org \
--cc=andi@firstfloor.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.