Bug 29722 - kworker consumes ~100% CPU on HP Elitebook 8540w after resume
kworker consumes ~100% CPU on HP Elitebook 8540w after resume
Status: CLOSED CODE_FIX
Product: ACPI
Classification: Unclassified
Component: Config-Interrupts
All Linux
: P1 normal
Assigned To: acpi_config-interrupts
:
Depends on:
Blocks: 7216 21782
  Show dependency treegraph
 
Reported: 2011-02-23 11:49 UTC by Ortwin Glück
Modified: 2011-03-28 23:04 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.37
Tree: Mainline
Regression: Yes


Attachments
top after resume (191 bytes, text/plain)
2011-02-23 11:49 UTC, Ortwin Glück
Details
perf top after resume (3.32 KB, text/plain)
2011-02-23 11:50 UTC, Ortwin Glück
Details
dmesg of full suspend/resume cycle (80.04 KB, text/plain)
2011-02-23 11:50 UTC, Ortwin Glück
Details
ACPI interrupts before/after suspend (1.33 KB, text/plain)
2011-02-24 08:27 UTC, Ortwin Glück
Details
PCIe port resume debug patch (685 bytes, patch)
2011-02-24 09:47 UTC, Rafael J. Wysocki
Details | Diff
acpidump output (603.14 KB, text/plain)
2011-02-24 09:55 UTC, Ortwin Glück
Details
.config (75.30 KB, text/plain)
2011-02-28 08:06 UTC, Ortwin Glück
Details
PCI / ACPI: Call _OSC if ASPM is not supported (797 bytes, patch)
2011-03-01 21:39 UTC, Rafael J. Wysocki
Details | Diff
ACPI / PCI: Set _OSC support bits together (1.77 KB, patch)
2011-03-01 21:41 UTC, Rafael J. Wysocki
Details | Diff
lspci -vvvxxx before suspend (62.17 KB, text/plain)
2011-03-02 07:50 UTC, Ortwin Glück
Details
lspci -vvvxxx after resume (62.18 KB, text/plain)
2011-03-02 07:51 UTC, Ortwin Glück
Details
PCI/ACPI: Report ASPM support to BIOS if not disabled from command line (2.76 KB, patch)
2011-03-02 22:39 UTC, Rafael J. Wysocki
Details | Diff

Description Ortwin Glück 2011-02-23 11:49:25 UTC
With the patch for #20232 on top of 2.6.37, the issue returns after a suspend/resume cycle.
Comment 1 Ortwin Glück 2011-02-23 11:49:59 UTC
Created attachment 48722 [details]
top after resume
Comment 2 Ortwin Glück 2011-02-23 11:50:24 UTC
Created attachment 48732 [details]
perf top after resume
Comment 3 Ortwin Glück 2011-02-23 11:50:58 UTC
Created attachment 48742 [details]
dmesg of full suspend/resume cycle
Comment 4 Rafael J. Wysocki 2011-02-23 19:31:29 UTC
Please post the output of

$ egrep 'disabled|enabled' /sys/firmware/acpi/interrupts/*

before suspend and after resume.
Comment 5 Ortwin Glück 2011-02-24 08:27:57 UTC
Created attachment 48842 [details]
ACPI interrupts before/after suspend
Comment 6 Rafael J. Wysocki 2011-02-24 09:42:19 UTC
Thanks.  So GPE 01 is enabled both before suspend and after resume, but it
only starts to trigger after resume.  Interesting.

First, please attach the output of acpidump from your machine.
Comment 7 Rafael J. Wysocki 2011-02-24 09:47:23 UTC
Created attachment 48852 [details]
PCIe port resume debug patch

Second, please check if this patch makes a difference.
Comment 8 Ortwin Glück 2011-02-24 09:55:22 UTC
Created attachment 48862 [details]
acpidump output
Comment 9 Ortwin Glück 2011-02-24 11:47:43 UTC
Patch from comment 7 doesn't apply to 2.6.37. The lines in question have been added only later.
Comment 10 Rafael J. Wysocki 2011-02-24 18:25:20 UTC
So is the problem reproducible with 2.6.38-rc6 (or later)?
Comment 11 Ortwin Glück 2011-02-25 08:22:29 UTC
I have tried vanilla 2.6.38-rc6 and patch from comment 7 on top of that. Both exhibt the problem after resume, unfortunately. Same interrupts.
Comment 12 Rafael J. Wysocki 2011-02-25 21:39:24 UTC
Please unset CONFIG_HOTPLUG_PCI_PCIE in the kernel .config and set
CONFIG_HOTPLUG_PCI_ACPI so that it is built in (not as a module) and check
of the problem is reproducible with that kernel configuration.

Either way, please attach the output of dmesg including one suspend/resume
cycle and boot messages.
Comment 13 Ortwin Glück 2011-02-28 08:06:24 UTC
Created attachment 49562 [details]
.config 

PCIE Hotplug was already disabled, and ACPI hotplug was already built-in (I never build modules). dmesg attachment is already present. Thanks for being so responsive and keeping looking into the problem. I'll try whatever I can to help resolve the issue.
Comment 14 Rafael J. Wysocki 2011-03-01 20:46:07 UTC
Please attach the output of 'lspci -vvvxxx' after resume (ie. when the GPE
storm is going on).
Comment 15 Rafael J. Wysocki 2011-03-01 21:39:28 UTC
Created attachment 49792 [details]
PCI / ACPI: Call _OSC if ASPM is not supported
Comment 16 Rafael J. Wysocki 2011-03-01 21:41:35 UTC
Created attachment 49802 [details]
ACPI / PCI: Set _OSC support bits together

Please apply this patch on top of the previous one (on top of 2.6.38-rc6+)
and see if that makes a difference.
Comment 17 Rafael J. Wysocki 2011-03-01 21:42:35 UTC
I mean please apply the patch from comment #16 on top of the patch from
comment #15.
Comment 18 Ortwin Glück 2011-03-02 07:50:46 UTC
Created attachment 49862 [details]
lspci -vvvxxx before suspend
Comment 19 Ortwin Glück 2011-03-02 07:51:23 UTC
Created attachment 49872 [details]
lspci -vvvxxx after resume
Comment 20 Ortwin Glück 2011-03-02 08:16:43 UTC
Rafael, I confirm that the patches of comment 15 and comment 16 on top of 2.6.38-rc7 do fix the problem. Now gpe01 no longer fires after resume. I'll use this kernel today to do some real work. I will report back if any related issues occur. Thanks for your outstanding support!
Comment 21 Rafael J. Wysocki 2011-03-02 22:39:45 UTC
Created attachment 49952 [details]
PCI/ACPI: Report ASPM support to BIOS if not disabled from command line

Please check if this patch (on top of 2.6.38-rc7) helps too (instead of the
previous two patches).
Comment 22 Ortwin Glück 2011-03-03 08:13:53 UTC
Positive. Also patch from comment 21 on top of a plain 2.6.38-rc7 resolves the problem.
Comment 23 Rafael J. Wysocki 2011-03-03 09:29:24 UTC
Handled-By : Rafael J. Wysocki <rjw@sisk.pl>
Patch : https://patchwork.kernel.org/patch/604371/
Comment 24 Florian Mickler 2011-03-28 23:02:31 UTC
A patch referencing this bug report has been merged in v2.6.38-8876-g036a982:

commit 8b8bae901ce23addbdcdb54fa1696fb2d049feb5
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Sat Mar 5 13:21:51 2011 +0100

    PCI/ACPI: Report ASPM support to BIOS if not disabled from command line

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