With the patch for #20232 on top of 2.6.37, the issue returns after a suspend/resume cycle.
Created attachment 48722 [details] top after resume
Created attachment 48732 [details] perf top after resume
Created attachment 48742 [details] dmesg of full suspend/resume cycle
Please post the output of $ egrep 'disabled|enabled' /sys/firmware/acpi/interrupts/* before suspend and after resume.
Created attachment 48842 [details] ACPI interrupts before/after suspend
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.
Created attachment 48852 [details] PCIe port resume debug patch Second, please check if this patch makes a difference.
Created attachment 48862 [details] acpidump output
Patch from comment 7 doesn't apply to 2.6.37. The lines in question have been added only later.
So is the problem reproducible with 2.6.38-rc6 (or later)?
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.
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.
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.
Please attach the output of 'lspci -vvvxxx' after resume (ie. when the GPE storm is going on).
Created attachment 49792 [details] PCI / ACPI: Call _OSC if ASPM is not supported
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.
I mean please apply the patch from comment #16 on top of the patch from comment #15.
Created attachment 49862 [details] lspci -vvvxxx before suspend
Created attachment 49872 [details] lspci -vvvxxx after resume
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!
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).
Positive. Also patch from comment 21 on top of a plain 2.6.38-rc7 resolves the problem.
Handled-By : Rafael J. Wysocki <rjw@sisk.pl> Patch : https://patchwork.kernel.org/patch/604371/
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