Bug 34042 - kworker consumes ~100% CPU on HP Elitebook 8540w after resume (again)
Summary: kworker consumes ~100% CPU on HP Elitebook 8540w after resume (again)
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Interrupts (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Rafael J. Wysocki
Depends on:
Blocks: 7216
  Show dependency tree
Reported: 2011-04-28 03:30 UTC by Patrick Hemmer
Modified: 2011-04-29 22:52 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.39_rc5
Regression: No
Bisected commit-id:

enabled interrupts (1.36 KB, text/plain)
2011-04-28 03:33 UTC, Patrick Hemmer
dmesg (87.33 KB, text/plain)
2011-04-28 03:34 UTC, Patrick Hemmer
lspci (83.48 KB, text/plain)
2011-04-28 03:35 UTC, Patrick Hemmer
acpidump (602.48 KB, text/plain)
2011-04-28 03:36 UTC, Patrick Hemmer
kernel config (70.28 KB, text/plain)
2011-04-28 03:37 UTC, Patrick Hemmer
PCI / ACPI: Report _OSC control mask returned on failure to get control (1.26 KB, patch)
2011-04-29 00:07 UTC, Rafael J. Wysocki
Details | Diff
patch dmesg output (87.91 KB, text/plain)
2011-04-29 02:44 UTC, Patrick Hemmer
ACPI: Debug PCI root initialization (562 bytes, patch)
2011-04-29 17:56 UTC, Rafael J. Wysocki
Details | Diff
dmesg (83.52 KB, text/plain)
2011-04-29 21:22 UTC, Patrick Hemmer

Description Patrick Hemmer 2011-04-28 03:30:11 UTC
This is the *exact* same problem as in bug 29722, with the exact same laptop.

The patch that solved the problem in bug 29722 is in 2.6.39_rc5, so there is apparently another cause.

When resuming from standby, kworker starts consuming almost all of the available CPU, while /sys/firmware/acpi/interrupts/gpe_all starts increasing at a rate of about 6000 per second.

Kernel is built without CONFIG_HOTPLUG_PCI_PCIE and with CONFIG_HOTPLUG_PCI_ACPI=y

Attachments of a lot of the info requested in bug 29722 forthcoming.
Comment 1 Patrick Hemmer 2011-04-28 03:33:13 UTC
Created attachment 55682 [details]
enabled interrupts

output of `egrep 'disabled|enabled' /sys/firmware/acpi/interrupts/*` before and after suspend
Comment 2 Patrick Hemmer 2011-04-28 03:34:54 UTC
Created attachment 55692 [details]

dmesg from boot up until after resume
Comment 3 Patrick Hemmer 2011-04-28 03:35:43 UTC
Created attachment 55702 [details]

output of `lspci -vvvxxx`
Comment 4 Patrick Hemmer 2011-04-28 03:36:25 UTC
Created attachment 55712 [details]

acpidump output
Comment 5 Patrick Hemmer 2011-04-28 03:37:42 UTC
Created attachment 55722 [details]
kernel config

kernel config
Comment 6 Rafael J. Wysocki 2011-04-29 00:07:11 UTC
Created attachment 55862 [details]
PCI / ACPI: Report _OSC control mask returned on failure to get control

Please apply this patch and attach dmesg output.
Comment 7 Patrick Hemmer 2011-04-29 02:44:22 UTC
Created attachment 55872 [details]
patch dmesg output

dmesg output after resume with above patch
Comment 8 Rafael J. Wysocki 2011-04-29 17:56:36 UTC
Created attachment 55912 [details]
ACPI: Debug PCI root initialization

Hmm.  The _OSC messages are not present in the dmesg output, which means we
don't execute the _OSC request on your machine.  We need to figure out why.

Please apply this patch (on top of the previous one) and attach the output of
Comment 9 Patrick Hemmer 2011-04-29 21:22:43 UTC
Created attachment 55922 [details]

dmesg output from the latest patch

Pertinent lines:
[    1.738978]  pci0000:00: Unable to request _OSC control (_OSC support mask: 0x0f)
[    1.749602]  pci0000:ff: Unable to request _OSC control (_OSC support mask: 0x0f)
Comment 10 Rafael J. Wysocki 2011-04-29 22:10:46 UTC
Two PCI roots, cool. :-)

Sorry, I didn't notice you had CONFIG_PCI_MSI unset in your .config.
It _really_ is necessary for things to work correctly in this area,
so please enable it and attach dmesg output.  It very well may cause
the problem to go away even. :-)
Comment 11 Patrick Hemmer 2011-04-29 22:52:48 UTC
Confirmed. Enabled CONFIG_PCI_MSI and the problem disappeared. Guess this can be marked invalid. Sorry for the unnecessary troubleshooting, but thanks though :-)

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