Bug 218511

Summary: High system load when accessing EC
Product: ACPI Reporter: Dieter Mummenschanz (dmummenschanz)
Component: ECAssignee: Rafael J. Wysocki (rjw)
Status: CLOSED CODE_FIX    
Severity: high CC: rjw
Priority: P3    
Hardware: Intel   
OS: Linux   
Kernel Version: 6.8-rc1 Subsystem:
Regression: Yes Bisected commit-id: eb9299beadbdd7be8de1e97f1059e89bcb64b05d

Description Dieter Mummenschanz 2024-02-19 14:51:56 UTC
Hello, 

since 6.8-rc1 I'm experiencing an unusual high system load when acessing the EC through ACPI. I need to do this several times a second. My system constantly shows 30-50% system load on irq/9-acpi during that time. With previous kernel versions I never saw that even with higher access intervals. I've nailed down the offending commit to:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/acpi/ec.c?id=eb9299beadbdd7be8de1e97f1059e89bcb64b05d

It seems that leaving interrupts on during acces causes the system monitor to show the access times as system load. 

An easy way to reproduce this just execute "od -Ax -t x1 /sys/kernel/debug/ec/ec0/io" three or more times a second and watch the system load go up during EC access. The respone time also increased subjectively but I didn't find the time to do some meassurements on that. 

This is really confusing. Is this how it's supposed to be from now on?

Kind Regards,
Dieter
Comment 1 Artem S. Tashkinov 2024-02-21 07:48:17 UTC
Ping Rafael J. Wysocki
Comment 2 Rafael J. Wysocki 2024-02-21 20:18:30 UTC
Thanks for the report!

The only way to restore the previous behavior I can see is to revert the commit in question, which is not a big deal, because it is an optimization anyway.

I'll post a revert patch tomorrow.
Comment 4 Dieter Mummenschanz 2024-02-22 12:21:42 UTC
Thank you. Will this make it into 6.8 in time?
Comment 5 Rafael J. Wysocki 2024-02-22 13:12:30 UTC
Yes, I'm going to push it as 6.8 fix next week, so it should make it just fine.
Comment 6 Rafael J. Wysocki 2024-03-05 11:26:37 UTC
The patch has been included into 6.8-rc7.