Created attachment 287291 [details] acpidata.dat Something is continously triggering gpe6D, making kworker/0:0+pm and kworker/0:2-kacpi_notify work overtime. ``` leho@papaya ~ $ [-] grep . -r /sys/firmware/acpi/interrupts | grep -v " 0" /sys/firmware/acpi/interrupts/sci: 330447 /sys/firmware/acpi/interrupts/gpe6E: 712 EN disabled unmasked /sys/firmware/acpi/interrupts/gpe_all: 330470 /sys/firmware/acpi/interrupts/sci_not: 13 /sys/firmware/acpi/interrupts/gpe6D: 329758 EN enabled unmasked leho@papaya ~ $ [-] grep . -r /sys/firmware/acpi/interrupts | grep -v " 0" /sys/firmware/acpi/interrupts/sci: 330866 /sys/firmware/acpi/interrupts/gpe6E: 712 EN disabled unmasked /sys/firmware/acpi/interrupts/gpe_all: 330889 /sys/firmware/acpi/interrupts/sci_not: 13 /sys/firmware/acpi/interrupts/gpe6D: 330177 EN enabled unmasked ``` Perf report segment: ``` + 9,62% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] ret_from_fork ◆ + 9,62% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] kthread ▒ + 9,62% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] worker_thread ▒ + 9,62% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] process_one_work ▒ + 9,60% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pm_runtime_work ▒ + 9,58% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] rpm_suspend ▒ + 9,52% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] __rpm_callback ▒ + 9,51% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] rpm_callback ▒ + 7,68% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_evaluate_object ▒ + 7,57% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_evaluate ▒ + 7,30% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_execute_method ▒ + 7,05% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_parse_aml ▒ + 6,70% 0,17% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_parse_loop ▒ + 5,53% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] __pci_enable_wake ▒ + 5,00% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_device_sleep_wake ▒ + 4,80% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_pm_runtime_suspend ▒ + 4,77% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] rpm_resume ▒ + 4,71% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] pci_pm_runtime_resume ▒ + 4,55% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_finish_runtime_suspend ▒ + 3,48% 0,05% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_lookup ▒ + 3,43% 0,03% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_search_and_enter ▒ + 3,41% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] __acpi_pm_set_device_wakeup ▒ + 3,41% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_device_wakeup_disable ▒ + 3,32% 3,30% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_search_one_scope ▒ + 3,20% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_disable_wakeup_device_power ▒ + 2,87% 0,07% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_exec_end_op ▒ + 2,58% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_get_next_namepath ▒ + 2,05% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] __acpi_device_wakeup_enable ▒ + 1,92% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] pci_set_power_state ▒ + 1,81% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_enable_wakeup_device_power ▒ + 1,55% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_evaluate_name_path ▒ + 1,50% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] pci_platform_power_transition ▒ + 1,40% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_target_state ▒ + 1,38% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_pci_choose_state ▒ + 1,38% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_pm_device_sleep_state ▒ + 1,38% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_dev_pm_get_state ▒ + 1,37% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_evaluate_integer ▒ + 1,33% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_device_set_power ▒ + 1,31% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_dev_pm_explicit_set.part.0 ▒ + 1,15% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_restore_standard_config ▒ + 1,15% 0,07% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_create_operand ▒ + 0,71% 0,66% kworker/0:3+pm [kernel.vmlinux] [k] pci_conf1_read ▒ + 0,70% 0,03% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_resolve_to_value ▒ + 0,70% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_field_datum_io ▒ + 0,70% 0,03% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ev_address_space_dispatch ▒ + 0,70% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_access_region ▒ + 0,60% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_resolve_node_to_value ▒ + 0,56% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_read_data_from_field ▒ + 0,56% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_power_up ▒ + 0,55% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_dev_run_wake ▒ 0,54% 0,09% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_create_op ▒ 0,51% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_hw_read_port ▒ 0,50% 0,49% kworker/0:3+pm [kernel.vmlinux] [k] acpi_os_read_port ▒ 0,49% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_extract_from_field ▒ 0,49% 0,32% kworker/0:3+pm [kernel.vmlinux] [k] kmem_cache_alloc ▒ 0,41% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] pci_raw_set_power_state ▒ 0,39% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] pci_bus_read_config_word ▒ 0,38% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_opcode_1A_1T_1R ▒ 0,37% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_store ▒ 0,35% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_system_io_space_handler ▒ 0,35% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_store_object_to_node ▒ 0,35% 0,05% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_update_object_reference ▒ 0,34% 0,04% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_complete_op ▒ 0,33% 0,12% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_write_data_to_field ▒ 0,31% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_bus_read_config_dword ▒ 0,31% 0,31% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_system_memory_space_handler ▒ 0,29% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_restore_state.part.0 ▒ 0,28% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_os_release_object ▒ 0,27% 0,26% kworker/0:3+pm [kernel.vmlinux] [k] kmem_cache_free ▒ 0,26% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_create_operands ▒ 0,25% 0,03% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_alloc_op ▒ 0,24% 0,03% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_create_generic_state ▒ 0,24% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_enable_gpe ▒ 0,24% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ev_add_gpe_reference ▒ 0,23% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_hw_write ▒ 0,22% 0,22% kworker/0:3+pm [kernel.vmlinux] [k] acpi_os_write_port ▒ 0,22% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_hw_low_set_gpe ▒ 0,22% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_save_state ▒ 0,21% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_insert_into_field ▒ 0,21% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_write_with_update_rule ▒ 0,21% 0,05% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_update_ref_count.part.0 ▒ 0,20% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_disable_gpe ▒ 0,19% 0,04% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_complete_this_op ▒ 0,19% 0,19% kworker/0:3+pm [kernel.vmlinux] [k] pci_conf1_write ▒ 0,18% 0,17% kworker/0:3+pm [kernel.vmlinux] [k] _raw_spin_unlock_irqrestore ▒ 0,18% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ev_remove_gpe_reference ▒ 0,18% 0,17% kworker/0:3+pm [kernel.vmlinux] [k] _raw_spin_lock_irqsave ▒ 0,18% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_hw_read ▒ 0,17% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_push_scope ▒ 0,16% 0,16% kworker/0:3+pm [kernel.vmlinux] [k] memset_erms ▒ 0,15% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_delete_parse_tree ▒ 0,15% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] schedule_timeout ▒ 0,15% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] msleep ▒ 0,14% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_call_control_method ▒ 0,14% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_delete_result_if_not_used ▒ 0,13% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_get_node ▒ 0,13% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_create_internal_object_dbg ▒ 0,12% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_do_implicit_return ▒ 0,12% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_begin_method_execution ▒ 0,12% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_restore_msi_state ▒ 0,11% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_terminate_control_method ▒ 0,11% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_allocate_object_desc_dbg ▒ 0,11% 0,04% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_resolve_operands ▒ 0,11% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_update_current_state ▒ 0,11% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_is_result_used ▒ 0,10% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_get_next_arg ▒ 0,10% 0,09% kworker/0:3+pm [kernel.vmlinux] [k] __kmalloc ▒ 0,10% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_restore_config_dword ▒ 0,10% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_get_normalized_pathname ▒ 0,10% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] schedule ▒ 0,10% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ns_get_node_unlocked ▒ 0,10% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_clear_implicit_return ▒ 0,09% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] pci_find_capability ▒ 0,09% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] __sched_text_start ▒ 0,09% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_release_mutex ▒ 0,08% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_match_predefined_method ▒ 0,08% 0,07% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ps_get_opcode_info ▒ 0,08% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_clear_operands ▒ 0,08% 0,02% kworker/0:3+pm [kernel.vmlinux] [k] resume_common ▒ 0,08% 0,00% kworker/0:3+pm [kernel.vmlinux] [k] __pci_find_next_cap_ttl ▒ 0,08% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_os_signal_semaphore ▒ 0,07% 0,07% kworker/0:3+pm [kernel.vmlinux] [k] kfree ▒ 0,07% 0,05% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ds_exec_begin_op ▒ 0,07% 0,07% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ut_get_next_predefined_method ▒ 0,07% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_os_wait_semaphore ▒ 0,07% 0,01% kworker/0:3+pm [kernel.vmlinux] [k] acpi_ex_get_name_string ``` Any thoughts on what this might be about?
Maybe relevant: opening report was filed when connected to a WD15 USB-C dock. Interestingly, this problem has calmed down after one on-battery suspend-resume cycle - somehow EC seems to have reached a saner PM state? I will continue monitoring.
As soon as I connected to DELL 49" monitor via USB-C, kworker kacpi_notify cycle spins back up! So looks at minimum like related to docks.
_SB.PCI0.XHC - 14.0 _SB.PCI0.CNVW - 14.3 _SB.PCI0.GLAN - 1f.6 _SB.PCI0.XDCI - 14.1 _SB.PCI0.HDAS - 1f.3 _SB.PCI0.TXHC - 0d.0 _SB.PCI0.TXDC - 0d.1 _SB.PCI0.TDM0 - 0d.2 _SB.PCI0.TDM1 - 0d.3 All the above devices uses GPE 0x6D as its wakeup event (_PRW). can you please attach the lspci -vv output?
Created attachment 293733 [details] lspci -vv I haven't seen this for a long while. This bug was filed at kernel 5.5.0, currently running 5.9.6. Right now tested connected to the same 49" USB-C monitor, interrupt weather seems stable: leho@papaya ~ $ [-] grep . -r /sys/firmware/acpi/interrupts | grep -v " 0" /sys/firmware/acpi/interrupts/gpe66: 1255 EN enabled unmasked /sys/firmware/acpi/interrupts/sci: 136974 /sys/firmware/acpi/interrupts/gpe6E: 135483 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe_all: 137187 /sys/firmware/acpi/interrupts/sci_not: 2781 /sys/firmware/acpi/interrupts/gpe6D: 448 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe61: 1 EN enabled unmasked leho@papaya ~ $ [-] grep . -r /sys/firmware/acpi/interrupts | grep -v " 0" /sys/firmware/acpi/interrupts/gpe66: 1255 EN enabled unmasked /sys/firmware/acpi/interrupts/sci: 136974 /sys/firmware/acpi/interrupts/gpe6E: 135483 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe_all: 137187 /sys/firmware/acpi/interrupts/sci_not: 2781 /sys/firmware/acpi/interrupts/gpe6D: 448 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe61: 1 EN enabled unmasked There have been multiple BIOS updates as well. Regardless, I attached lspci output, in case there's some more accurate conclusion to find here.
So let's close this bug for now. Please feel free to re-open it if you can reproduce the problem with latest upstream kernel.