Bug 88171 - kworker process consumes CPU on macbook pro 11,1 (late 2013), gpe66
Summary: kworker process consumes CPU on macbook pro 11,1 (late 2013), gpe66
Status: CLOSED DOCUMENTED
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Interrupts (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Aaron Lu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-13 16:22 UTC by Adham Zahran
Modified: 2015-02-17 05:27 UTC (History)
3 users (show)

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


Attachments
grep . /sys/firmware/acpi/interrupts/* kernel 3.17 (7.35 KB, application/octet-stream)
2014-12-04 13:06 UTC, Adham Zahran
Details
grep . /sys/firmware/acpi/interrupts/* kernel 3.12.5 (7.35 KB, application/octet-stream)
2014-12-04 13:07 UTC, Adham Zahran
Details
acpidump for kernel 3.17 (250.56 KB, text/plain)
2014-12-04 13:10 UTC, Adham Zahran
Details
acpidump for kernel 3.12.5 (250.56 KB, text/plain)
2014-12-04 13:11 UTC, Adham Zahran
Details

Description Adham Zahran 2014-11-13 16:22:55 UTC
It constantly consumes 70% of one of my cores and around 20% of my total processor.

Issue was resolved when I downgraded to an earlier version of the kernel that I had installed (version 3.11.10-301).

I don't know if I filled the fields right, I emitated this bug: https://bugzilla.kernel.org/show_bug.cgi?id=20232

my hardware:
macbook pro 11,1 (late 2013). x86-64 processor.
Comment 1 Adham Zahran 2014-11-26 20:08:37 UTC
I experienced the same issue on the kernel 3.13.10-200.fc20.x86_64 and later versions as well.

now I am using the kernel 3.12.5-302.fc20.x86_64 and the issue is gone.

I don't know on which version exactly did the issue start to appear but I hope I helped narrowing the search.
Comment 2 Aaron Lu 2014-12-01 08:14:02 UTC
Sounds like a GPE problem.

Please show me the result of:
$ grep . /sys/firmware/acpi/interrupts/*
with both kernels.

Please also attach acpidump:
# acpidump > acpidump.txt
Comment 3 Aaron Lu 2014-12-01 08:15:12 UTC
BTW, is it that the problem starts to occur from v3.13? And does the latest v3.17 also have this problem?
Comment 4 Adham Zahran 2014-12-04 13:06:11 UTC
Created attachment 159651 [details]
grep . /sys/firmware/acpi/interrupts/* kernel 3.17
Comment 5 Adham Zahran 2014-12-04 13:07:30 UTC
Created attachment 159661 [details]
grep . /sys/firmware/acpi/interrupts/* kernel 3.12.5
Comment 6 Adham Zahran 2014-12-04 13:10:25 UTC
Created attachment 159671 [details]
acpidump for kernel 3.17
Comment 7 Adham Zahran 2014-12-04 13:11:57 UTC
Created attachment 159681 [details]
acpidump for kernel 3.12.5
Comment 8 Adham Zahran 2014-12-04 13:14:46 UTC
thanks for the reply

yes kernel version 3.17 does have the bug
and yes I believe the bug starts to appear starting from v3.13

but the one I'm running now doesn't have the bug (3.12.5)
Comment 9 Aaron Lu 2014-12-05 08:32:27 UTC
Quite similar to bug #85881.

Since this is a regression, can you please git bisect the offending commit? Thanks.
Comment 10 Adham Zahran 2014-12-05 12:49:35 UTC
Does that require me to git clone the kernel and run git bisect over the commits between 3.12.9 and 3.13 and build, install and test each commit until I find the offending commit? or is there a better way (hopefully)?
Comment 11 Aaron Lu 2014-12-06 04:50:19 UTC
Yes, you will need to clone the kernel tree and bisect between v3.12 and v3.13. The bisect is a binary search process, so it's not every commit, but still, requires some time to do.

A better way would be analyzing the problem and find out solution but it doesn't seem we are able to find out the here.
Comment 12 Lv Zheng 2014-12-08 00:48:01 UTC
Hi

(In reply to Adham Zahran from comment #10)
> Does that require me to git clone the kernel and run git bisect over the
> commits between 3.12.9 and 3.13 and build, install and test each commit
> until I find the offending commit? or is there a better way (hopefully)?

This GPE seems to be related to the GPU.

During the 3.12-rc5 and 3.13, there is no commit related to ACPI GPE merged (maybe I'm wrong).

And from ACPI susbystem's point of view, there is _L66 prepared in the ACPI namespace, thus ACPI core won't stop enabling the GPE (which leads to the work queue item) unless it is quirked (in bug 85881, it is quirked).

Thus this issue might be related to the GPU.
Since you have reported this as a regression, you probably can help developers to address the culprit component related to this regression.

Thanks and best regards
-Lv
Comment 13 Zhang Rui 2015-02-15 09:31:56 UTC
Adham, can you please kindly do git bisect to find out the offending commit?
As you have successfully narrow down the problem to between 3.12 and 3.13, I think git bisect will take much less time.
Comment 14 Adham Zahran 2015-02-16 16:05:02 UTC
Zhang Rui...
I tried to go through the git bisect process earlier today but something really weird happened.

I had this command in /etc/rc.d/rc.local to be executed automatically on startup: echo disable > /sys/firmware/acpi/interrupts/gpe66

it worked fine as a work around for our bug.
but I had to remove it so that I can test the kernel, but when I removed it the computer worked fine!
kworker is no longer eating up my processor even without disabling gpe66

I even tried older kernels and it's the same.

do you know if fedora could be executing that command somewhere else behind my back or what's happening here?
Comment 15 Adham Zahran 2015-02-16 16:11:11 UTC
now I ran
cat /sys/firmware/acpi/interrupts/gpe66
and it returned:
2   enabled

so yeah it wasn't disabled but suddenly the bug isn't occurring on any version of the kernel...
I don't know if that is a good thing or a bad thing.
what do?
Comment 16 Lv Zheng 2015-02-17 00:00:32 UTC
It seems a firmware upgrade can fix this bug.
Please refer to Bug 85881.
If you don't have the buggy firmware to test, it should be impossible for you to bisect the culprit...

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