kworker/0:1+kacpid uses 100% of one CPU core

Bug #1878919 reported by Martin Vysny
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

At some point, kworker/0:1+kacpid starts using 100% of one CPU's core; this can be seen in the top command.

I captured some performance data via the following command:
$ perf record -g -a sleep 10

Then, perf report gives the following:

Samples: 75K of event 'cycles', Event count (approx.): 44710762967
  Children Self Command Shared Object Symbol
+ 65,46% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] ret_from_fork
+ 65,46% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] kthread
+ 65,46% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] worker_thread
+ 65,44% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] process_one_work
+ 65,44% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] acpi_os_execute_deferred
+ 65,33% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ev_asynch_execute_gpe_method
+ 65,32% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ns_evaluate
+ 65,26% 0,00% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_execute_method
+ 65,16% 0,06% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_parse_aml
+ 61,00% 0,94% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_parse_loop
+ 37,83% 0,75% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ds_exec_end_op
+ 18,33% 0,04% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ds_evaluate_name_path
+ 16,12% 0,23% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ns_lookup
+ 15,79% 0,20% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ns_search_and_enter
+ 15,23% 14,99% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ns_search_one_scope
+ 14,38% 0,00% swapper [kernel.kallsyms] [k] secondary_startup_64
+ 14,38% 0,02% swapper [kernel.kallsyms] [k] cpu_startup_entry
+ 14,31% 0,12% swapper [kernel.kallsyms] [k] do_idle
+ 13,79% 0,00% swapper [kernel.kallsyms] [k] start_secondary
+ 12,92% 0,03% swapper [kernel.kallsyms] [k] call_cpuidle
+ 12,89% 0,00% swapper [kernel.kallsyms] [k] cpuidle_enter
+ 12,85% 0,05% swapper [kernel.kallsyms] [k] cpuidle_enter_state
+ 12,35% 2,15% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ut_update_object_reference
+ 12,05% 0,28% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_resolve_to_value
+ 10,40% 0,04% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_resolve_node_to_value
+ 9,90% 0,44% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ds_create_operand
+ 9,50% 0,05% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_read_data_from_field
+ 9,39% 0,06% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_field_datum_io
+ 9,26% 0,12% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_access_region
+ 9,23% 0,08% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_get_next_namepath
+ 9,15% 1,28% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ut_update_ref_count.part.0
+ 9,01% 0,08% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ev_address_space_dispatch
+ 8,96% 0,14% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_extract_from_field
+ 8,78% 7,70% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ex_system_memory_space_handler
+ 7,81% 0,22% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ut_remove_reference
+ 6,63% 6,43% swapper [kernel.kallsyms] [k] intel_idle
+ 5,31% 0,68% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_create_op
+ 5,12% 0,08% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ut_add_reference
+ 4,89% 0,07% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ds_delete_result_if_not_used
+ 4,71% 0,09% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ds_do_implicit_return
+ 4,61% 0,17% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ds_is_result_used
+ 3,91% 3,62% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ut_track_stack_ptr
+ 3,83% 0,31% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_complete_op
+ 3,39% 0,23% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ps_alloc_op
+ 3,25% 3,20% kworker/0:1+kac [kernel.kallsyms] [k] _raw_spin_lock_irqsave
+ 3,23% 0,24% kworker/0:1+kac [kernel.kallsyms] [k] acpi_os_acquire_lock
+ 3,17% 0,00% kworker/u16:10- [kernel.kallsyms] [k] ret_from_fork
+ 3,17% 0,00% kworker/u16:10- [kernel.kallsyms] [k] kthread
+ 3,17% 0,00% kworker/u16:10- [kernel.kallsyms] [k] worker_thread
+ 3,17% 0,00% kworker/u16:10- [kernel.kallsyms] [k] process_one_work
+ 3,16% 0,00% kworker/u16:10- [kernel.kallsyms] [k] nv50_disp_atomic_commit_work
+ 3,14% 0,00% kworker/u16:10- [kernel.kallsyms] [k] nv50_disp_atomic_commit_tail
+ 3,12% 1,69% kworker/0:1+kac [kernel.kallsyms] [k] acpi_ut_trace_ptr
+ 3,09% 0,00% kworker/u16:10- [kernel.kallsyms] [k] nv50_wndw_wait_armed
+ 3,09% 0,00% kworker/u16:10- [kernel.kallsyms] [k] hid_hw_stop
+ 3,05% 0,01% swapper [kernel.kallsyms] [k] ret_from_intr
+ 3,05% 0,00% swapper [kernel.kallsyms] [k] do_IRQ
+ 3,02% 0,00% swapper [kernel.kallsyms] [k] handle_irq_event
+ 3,02% 0,00% swapper [kernel.kallsyms] [k] handle_irq_event_percpu

There is the following in dmesg, I do not know whether it's related to the issue:

[31046.072827] pci_bus 0000:02: Allocating resources
[31046.072949] pcieport 0000:00:1c.0: bridge window [io 0x1000-0x0fff] to [bus 02] add_size 1000
[31046.072951] pcieport 0000:00:1c.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 02] add_size 200000 add_align 100000
[31046.072957] pci_bus 0000:05: Allocating resources
[31046.072965] pcieport 0000:00:1c.0: BAR 15: assigned [mem 0xaa000000-0xaa1fffff 64bit pref]
[31046.072968] pcieport 0000:00:1c.0: BAR 13: assigned [io 0x2000-0x2fff]
[31046.073030] pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
[31046.073037] pcieport 0000:00:1c.4: AER: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[31046.073039] pcieport 0000:00:1c.4: AER: device [8086:a114] error status/mask=00001000/00002000
[31046.073041] pcieport 0000:00:1c.4: AER: [12] Timeout
[31046.073046] pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
[31046.073050] pcieport 0000:00:1c.4: AER: can't find device of ID00e4
[31090.841307] pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
[31090.841311] pcieport 0000:00:1c.4: AER: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[31090.841313] pcieport 0000:00:1c.4: AER: device [8086:a114] error status/mask=00000001/00002000
[31090.841315] pcieport 0000:00:1c.4: AER: [ 0] RxErr
[31091.128072] pci_bus 0000:02: Allocating resources
[31091.128184] pci_bus 0000:05: Allocating resources

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-generic 5.4.0.29.34
ProcVersionSignature: Ubuntu 5.4.0-29.33-generic 5.4.30
Uname: Linux 5.4.0-29-generic x86_64
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: mavi 2209 F.... pulseaudio
 /dev/snd/controlC0: mavi 2209 F.... pulseaudio
 /dev/snd/controlC2: mavi 2209 F.... pulseaudio
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Fri May 15 16:33:39 2020
HibernationDevice: RESUME=/dev/mapper/vg0-lv0--swap
InstallationDate: Installed on 2016-09-05 (1348 days ago)
InstallationMedia: Ubuntu-Server 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
MachineType: LENOVO 20EN0005MS
ProcFB: 0 nouveaudrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.4.0-29-generic root=/dev/mapper/vg0-lv1--root ro splash ipv6.disable=1 nouveau.modeset=1 vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-29-generic N/A
 linux-backports-modules-5.4.0-29-generic N/A
 linux-firmware 1.187
SourcePackage: linux
UpgradeStatus: Upgraded to focal on 2020-03-20 (55 days ago)
dmi.bios.date: 12/06/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: N1EET87W (1.60 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20EN0005MS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40705 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN1EET87W(1.60):bd12/06/2019:svnLENOVO:pn20EN0005MS:pvrThinkPadP50:rvnLENOVO:rn20EN0005MS:rvrSDK0J40705WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad P50
dmi.product.name: 20EN0005MS
dmi.product.sku: LENOVO_MT_20EN_BU_Think_FM_ThinkPad P50
dmi.product.version: ThinkPad P50
dmi.sys.vendor: LENOVO

Revision history for this message
Martin Vysny (vyzivus) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Did this issue happen to 16.04.1?

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Nuno Filipe Pedro Jacinto (njacinto) wrote :

I have the same problem on 20.04 on a ThinkPad P50.
It started when I upgrade from 19.10. It started after some time of being running.
I did a new installation of the 20.04 and the problem persists but now only after wake up and if I put it to sleep and wake up again it stops.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Since it's a regression, would it be possible for you to do a kernel bisection?

First, find the last -rc kernel works and the first -rc kernel doesn’t work from http://kernel.ubuntu.com/~kernel-ppa/mainline/

Then,
$ sudo apt build-dep linux
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git bisect start
$ git bisect good $(the working version you found)
$ git bisect bad $(the non-working version found)
$ make localmodconfig
$ make -j`nproc` deb-pkg
Install the newly built kernel, then reboot with it.
If it still have the same issue,
$ git bisect bad
Otherwise,
$ git bisect good
Repeat to "make -j`nproc` deb-pkg" until you find the offending commit.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Frederik (proun) wrote :

This bug is affecting me too on Ubuntu 20.04 on a Macbook Pro 15". Took me several installations and quite some hours to figure out, what the reason for misbehaving and overheating was, should have launched top right away.

For me the workaround with suspending after boot works fine, too. But it is also kind of annoying to suspend once after booting the computer.

Revision history for this message
Nuno Filipe Pedro Jacinto (njacinto) wrote :

I apologise. I didn't made the time to address this issue properly, but I wanted to just leave some information in case it helps others.
I did several upgrades of the kernel version (up not down) without success. My last was 5.8.13, without success.
When I was upgrading to version 20.10, I had to stop the process. This stop left the system on an intermediate state (just in case this means something to someone). I restart the process after but the nvidea drivers were not being loaded (using the 5.8.13 kernel, not the one from 20.10).
Since then, the problem disapear. It has been 3 or 4 weeks whitout any issues.
I'm not saying that it's the graphic card drivers that produced the error. Since I don't use it, I didn't try yet to fix it and I also wanted to see if it was really gone (sometimes it happens often others ...).
Just leaving some information in case it helps.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.