Bug 16513 - CPUs doesn't stay in deepest C-state with intel_idle
Summary: CPUs doesn't stay in deepest C-state with intel_idle
Status: CLOSED UNREPRODUCIBLE
Alias: None
Product: Power Management
Classification: Unclassified
Component: intel_idle (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: power-management_intel_idle@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-04 10:55 UTC by Daniel Eklöf
Modified: 2010-10-20 16:27 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.35
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Kernel log (47.46 KB, text/x-log)
2010-08-04 10:55 UTC, Daniel Eklöf
Details
Powertop output w/ intel-idle (4.20 KB, text/plain)
2010-08-04 10:56 UTC, Daniel Eklöf
Details
Powertop output w/ acpi-idle (3.92 KB, text/plain)
2010-08-04 10:56 UTC, Daniel Eklöf
Details

Description Daniel Eklöf 2010-08-04 10:55:17 UTC
Created attachment 27340 [details]
Kernel log

When using the new intel-idle driver, the CPUs never reach 100% residency in the deepest C-state. Instead, it's spread across C1-C4 (C4 being the deepest C-state). Powertop also shows a large number of wakeups:

Cn	          Avg residency
C0 (cpu running)        ( 0.0%)
polling		  0.0ms ( 0.0%)
C1 mwait	 61.8ms (24.5%)
C2 mwait	  5.3ms (34.8%)
C4 mwait	  0.8ms (41.1%)
P-states (frequencies)
  1.67 Ghz     2.6%
  1333 Mhz     0.1%
  1000 Mhz    97.4%
Wakeups-from-idle per second : 595.0	interval: 15.0s
no ACPI power usage estimate available
Top causes for wakeups:
  42.6% ( 12.2)   [extra timer interrupt]
  14.0% (  4.0)   [kernel core] usb_hcd_poll_rh_status (rh_timer_func)
   9.8% (  2.8)   [i915] <interrupt>


When using the ACPI driver, things are also somewhat interresting; directly after boot, there are no C-states available. After a couple of minutes (~3 minutes), the C-states become available (only up to C2 when running on AC, C4 when running on battery). At this point one can also see a large drop in power usage.

So, to summarize:
acpi-idle: works, but it takes ~3 minutes for the C-states to become available after boot
intel-idle: C-states are available right away, but something seems to be interferring, and we are never able to stay in the deepest C-state (regardless of how long time I wait).

intel-idle output:
Aug  4 12:16:07 lappy kernel: intel_idle: MWAIT substates: 0x20220
Aug  4 12:16:07 lappy kernel: intel_idle: v0.4 model 0x1C
Aug  4 12:16:07 lappy kernel: intel_idle: lapic_timer_reliable_states 0x6
Aug  4 12:16:07 lappy kernel: ACPI: acpi_idle yielding to intel_idle

Hardware: Samsung N150 (Atom N450), BIOS v.08JI
Comment 1 Daniel Eklöf 2010-08-04 10:56:09 UTC
Created attachment 27341 [details]
Powertop output w/ intel-idle
Comment 2 Daniel Eklöf 2010-08-04 10:56:49 UTC
Created attachment 27342 [details]
Powertop output w/ acpi-idle
Comment 3 Andrew Morton 2010-08-04 22:37:41 UTC
Recategorised to PM, assigned to Len.
Comment 4 Len Brown 2010-10-19 03:42:50 UTC
can you reproduce this issue with 2.6.36?
Comment 5 Daniel Eklöf 2010-10-19 09:22:50 UTC
No, I can't. Tested with 2.6.36-rc8 and I get 99.9% residency in C4, and a wakeup count below 10. I.e. everything is as it should be.

Looks like we can close this one!

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