Bug 3165 - No longer get C2 power saving detected
Summary: No longer get C2 power saving detected
Status: REJECTED INVALID
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Processor (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Venkatesh Pallipadi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-05 08:05 UTC by Stuart Rowan
Modified: 2007-11-20 14:27 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.14.3
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmesg output showing lack of C2 (6.51 KB, text/plain)
2004-08-05 08:07 UTC, Stuart Rowan
Details
acpidmp output, run on Linux 2.4.30 (25.94 KB, text/plain)
2005-04-16 16:39 UTC, Stuart Rowan
Details
dmesg from vanilla 2.4.30 with all acpi compiled in. (7.06 KB, text/plain)
2005-04-16 16:40 UTC, Stuart Rowan
Details
dmesg from vanilla 2.4.30 with acpi_os_name set to Linux (7.12 KB, text/plain)
2005-04-16 16:42 UTC, Stuart Rowan
Details
proc/acpi/processor/CPU1/power (261 bytes, text/plain)
2005-04-16 16:42 UTC, Stuart Rowan
Details
dmesg from vanilla 2.4.18 with all acpi compiled in (6.11 KB, text/plain)
2005-04-16 16:43 UTC, Stuart Rowan
Details
proc/acpi/processor/0/status (84 bytes, text/plain)
2005-04-16 16:44 UTC, Stuart Rowan
Details
dmesg from 2.6.13.3 (9.39 KB, text/plain)
2005-10-13 07:04 UTC, Stuart Rowan
Details
dmesg with acpi debug turned on a bit (9.55 KB, application/octet-stream)
2005-12-01 15:55 UTC, Stuart Rowan
Details

Description Stuart Rowan 2004-08-05 08:05:37 UTC
Distribution: Debian
Hardware Environment: P5 MMX 200 MHz CPU , 256 MB RAM, Supermicro motherboard
430 TX chipset, Adaptec PCI AHA-2940UW SCSI controller.
Software Environment: Debian GNU Linux 3.0 (woody/stable)
Problem Description: 
2.4.18 and 2.4.20 both enabled C2 power saving on this system. Also the power
button worked perfectly as a 'software' button and would switch the machine to
runlevel 0.

The 2.4.26 kernel with the new ACPI will not enable ACPI on the motherboard
unless I use acpi=force (a regression in itself I feel) and then does not detect
nor use the C2 power saving state available with this processor.

Perhaps rather than just having a cut off BIOS date for enabling ACPI, a
whitelist of manufacturers could be used too?

I guess for some reason, C2 power saving is no longer being enabled for pentium
mmx's. This makes the system run at about 15 Celsius hotter when switched on and
idle. Badness.

Steps to reproduce:
Boot the kernel, notice that C2 power saving no longer shows up in dmesg output.
I'll attach dmesg for you to see.

If you need any help testing patches / want various config dumps just holler.
Comment 1 Stuart Rowan 2004-08-05 08:07:56 UTC
Created attachment 3476 [details]
dmesg output showing lack of C2
Comment 2 Len Brown 2004-11-04 00:41:43 UTC
please attach the dmesg resulting from no kernel parameters.

What kernel was able to support C2?  Can you attach the dmesg
and /proc/acpi/processor/CPU0/power from that boot?

what about newer kernels such as 2.4.27 and 2.6.9?
Comment 3 Stuart Rowan 2004-12-02 02:38:37 UTC
2.4.18-1-586tsc as found in Debian woody stable works fine. I am away at the 
moment so it will be difficult to get the dmesg for you.

The big acpi update/merge circa 2.4.20/21/22 (I can't remember -- the huge 
patch anyway) was what changed the behaviour I think. Not that helpful i know. 
I will get you the requested information as soon as possible.

Thanks for looking into this!
Stu.
Comment 4 Len Brown 2005-01-03 18:57:11 UTC
please attach the output from acpidmp, available in /usr/sbin or
in pmtools here:
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils

It will show us what the BIOS says about C2 support.

Also, you might try booting with "acpi_os_name=Linux" to
see if that makes any difference.
 
Comment 5 Stuart Rowan 2005-04-16 16:36:48 UTC
Okay so sorry for the wait but here is (hopefully) all the information you asked
for. To follow, attached are:

acpidmp output
dmesg from vanilla 2.4.30 with all acpi compiled in.
dmesg from vanilla 2.4.30 with acpi_os_name set to Linux
proc/acpi/processor/CPU1/power for vanilla 2.4.30 (not CPU0 as you said --
presume the name changed at some point. FYI this is *not* an SMP box)

dmesg from vanilla 2.4.18 with all acpi compiled in (notice the C2 detection)
proc/acpi/processor/0/status displaying C2 state usage

So if there's anything more you need or that I can help with, please let me
know. Finally I have bumped the "Kernel Version" in the bug report.

Many thanks,
Stu.
Comment 6 Stuart Rowan 2005-04-16 16:39:25 UTC
Created attachment 4934 [details]
acpidmp output, run on Linux 2.4.30

acpidmp output, acpidmp run on Linux 2.4.30
Comment 7 Stuart Rowan 2005-04-16 16:40:42 UTC
Created attachment 4935 [details]
dmesg from vanilla 2.4.30 with all acpi compiled in.
Comment 8 Stuart Rowan 2005-04-16 16:42:07 UTC
Created attachment 4936 [details]
dmesg from vanilla 2.4.30 with acpi_os_name set to Linux
Comment 9 Stuart Rowan 2005-04-16 16:42:52 UTC
Created attachment 4937 [details]
proc/acpi/processor/CPU1/power
Comment 10 Stuart Rowan 2005-04-16 16:43:32 UTC
Created attachment 4938 [details]
dmesg from vanilla 2.4.18 with all acpi compiled in
Comment 11 Stuart Rowan 2005-04-16 16:44:22 UTC
Created attachment 4939 [details]
proc/acpi/processor/0/status
Comment 12 Len Brown 2005-09-14 23:14:03 UTC
> Linux version 2.4.18
> ACPI: Core Subsystem version [20011018]
> Processor[0]: C0 C1 C2

> Linux version 2.4.30
> ACPI: Subsystem revision 20040326
> ACPI: Processor [CPU1] (supports C1)

Yep, C2 went away.

DSDT does not contain a _CST method, so this
should depend only on the FADT support.

Looking at the FADT:
P_LVL2_LAT:       100
P_LVL3_LAT:       1000

Which is the BIOS telling us that this system supports not only
C2, but also C3 -- at the maximum allowable latency.

Is this issue reproducible with a recent kernel, like 2.6.13?
Comment 13 Stuart Rowan 2005-10-13 07:03:44 UTC
Fully reproducible with 2.6.13.3
new dmesg attached.

Thanks.

Comment 14 Stuart Rowan 2005-10-13 07:04:35 UTC
Created attachment 6292 [details]
dmesg from 2.6.13.3
Comment 15 Dominik Brodowski 2005-11-16 13:26:50 UTC
Is this reproducible with 2.6.14?
Comment 16 Stuart Rowan 2005-11-17 03:05:43 UTC
2.6.14.2 still just reporting C1

I'll attach various things if people want?
Comment 17 Stuart Rowan 2005-12-01 15:55:44 UTC
Created attachment 6741 [details]
dmesg with acpi debug turned on a bit

So here's a better dmesg. I googled some command line values for debug because
the documentation (kernel-parameters.txt) is worse than crap (!) So if you want
better / different debug output, you'd better tell me what values you want.

Interesting things this shows:
Linux works out there is no _CST
It gives up looking at the FADT and returns (I think) -ENODEV 

So if we can get it to look at the FADT that would be super, the exit out of
acpi_processor_get_power_info_fadt() seems to be caused by linux not seeing a
pblk / PBLK for the processor whatever that is!

Does this help narrow down the problem?
Comment 18 Stuart Rowan 2005-12-01 16:03:07 UTC
the dmesg.txt is gzipped. This seems to be making firefox here at least cry but
if i save to file and then decompress and view myself all is good.

Thanks for all your hard work people :-)

Comment 19 Len Brown 2007-08-18 11:23:15 UTC
[42949374.110000] acpi_processor-0509 [08] processor_get_power_in: ----Entry
[42949374.110000] acpi_processor-0515 [08] processor_get_power_in: ----Exit- FFFFFFFFFFFFFFED

is here:

        ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_fadt");

        if (!pr)
                return_VALUE(-EINVAL);

        if (!pr->pblk)
                return_VALUE(-ENODEV);

Looking at the DSDT:

    Scope (\_PR)
    {
        Processor (CPU1, 0x01, 0x00000000, 0x00) {}
    }

So it does appear that the PBLK and PBLK-length are 0 --
yet 2.4.18 was able to enable C2 without this...

Please verify that this regression still exists in 2.6.22.stable
I expect it will be.  It isn't clear how 2.4 was getting
the C2 address, or why it wasn't also exposing C3, for that matter.
Comment 20 Venkatesh Pallipadi 2007-11-20 14:27:43 UTC
Closing the bug. Please reopen if you still see this problem.

Note You need to log in before you can comment on or make changes to this bug.