From: Len Brown <lenb@kernel.org>
To: Philip Langdale <philipl@overt.org>
Cc: Jeff Garrett <jeff@jgarrett.org>,
Andi Kleen <andi@firstfloor.org>,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: acpi_idle: Very idle Core i7 machine never enters C3
Date: Tue, 27 Apr 2010 03:26:34 -0400 (EDT) [thread overview]
Message-ID: <alpine.LFD.2.00.1004270319560.3999@localhost.localdomain> (raw)
In-Reply-To: <20100426194002.586fbaa5@fido5>
On Mon, 26 Apr 2010, Philip Langdale wrote:
> On Fri, 05 Feb 2010 12:45:21 -0500 (EST)
> Len Brown <lenb@kernel.org> wrote:
>
> > Jeff,
> > What do you see if you apply just the patch below?
> >
> > Also, in addition to "powertop -d" to show what the kernel requests,
> > please run turbostat to show what the hardware actually did:
> >
> > http://userweb.kernel.org/~lenb/acpi/utils/pmtools-latest/turbostat/turbostat.c
> >
> > eg.
> > # turbostat -d -v sleep 5
> >
> > thanks,
> > -Len Brown, Intel Open Source Technology Center
> > ---
>
> To resurrect this thread...
>
> I have a giga-byte GA-P55M-UD4 motherboard and I have this same problem
> as well. Len's patch "works" in that I see C6 being used, but it also
> cripples the system - if I do a make -j16 kernel build, I see most jobs
> serialized onto one or two cores. Without the patch, I see the
> full utilization of all 8 hyper-threads as expected.
Curious failure.
I could imagine that there is something in the design of this board
where we want to not enter a deep C-state, and thus the board and
Linux are doing the right thing by avoiding the C-state.
However, ignoring the bm-status check and blindly going to that state
I would expect to impact throughput and latency, but don't see
how that might 'serialize' the workload or otherwise cause it
to use some cores and not others.
It is possible that we jump into those deep states just to be
immediately forced to jump right back out. You'd see this in
high usage counts under /sys/devices/system/cpu/cpu*/cpuidle
turbostat, of course, would tell you the actual residency in those states.
Of course there is a twist... The hardware has a feature to recognize
thrashing and may demote an OS request for a deep state into
an actual hardware request for a shallower state. this is one reason
that the output of powertop (request) and turbostat (result)
may be different.
cheers,
-Len
> Now, gigabyte have already b0rked these boards up by using the UHCI
> controllers on the PCH instead of the rate matching hubs. Maybe that's
> directly the cause of BM activity - maybe they screwed something else
> up - is it possible for BIOS/ACPI mistakes to lead to this behaviour?
>
> Jeff - is your board gigabyte too?
>
> --phil
>
> > diff --git a/drivers/acpi/processor_idle.c
> > b/drivers/acpi/processor_idle.c index 7c0441f..f528625 100644
> > --- a/drivers/acpi/processor_idle.c
> > +++ b/drivers/acpi/processor_idle.c
> > @@ -763,7 +763,7 @@ static const struct file_operations
> > acpi_processor_power_fops = { static int acpi_idle_bm_check(void)
> > {
> > u32 bm_status = 0;
> > -
> > +return bm_status;
> > acpi_read_bit_register(ACPI_BITREG_BUS_MASTER_STATUS,
> > &bm_status); if (bm_status)
> > acpi_write_bit_register(ACPI_BITREG_BUS_MASTER_STATUS,
> > 1);
> >
next prev parent reply other threads:[~2010-04-27 7:26 UTC|newest]
Thread overview: 44+ 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 14:59 ` Jeff Garrett
2010-01-27 13:27 ` peng huang
2010-02-05 16:22 ` Jeff Garrett
2010-01-26 21:45 ` Andi Kleen
2010-02-05 16:09 ` Jeff Garrett
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 [this message]
2010-04-27 15:41 ` Philip Langdale
2010-04-27 12:47 ` Jeff Garrett
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-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 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 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-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=alpine.LFD.2.00.1004270319560.3999@localhost.localdomain \
--to=lenb@kernel.org \
--cc=andi@firstfloor.org \
--cc=jeff@jgarrett.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=philipl@overt.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox