ACPI object counter overrun on frequent nvme resets
Christoph Hellwig
hch at infradead.org
Mon Sep 25 06:07:29 PDT 2017
Hi all,
when doing an error injection test with the nvme-pci driver on Linux 4.14
almost rc2 (820bf5c419e4b85298e5c3001bd1b5be46d60765 plus a few nvme
patches) that does a lot of nvme resets which shut down and re-enable the
PCI device I see a flood of warnings like:
[ 78.237286] ACPI Warning: Large Reference Count (0x1001) in object ffff88007d702c68, Type=0x1D (20170728/utdelete-473)
Throwing in a dump_stack into the path it comes from:
[ 78.238387] CPU: 0 PID: 286 Comm: kworker/u8:3 Not tainted 4.14.0-rc1+ #134
[ 78.238998] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 78.239720] Workqueue: nvme-wq nvme_reset_work
[ 78.239995] Call Trace:
[ 78.239995] dump_stack+0x63/0x83
[ 78.239995] acpi_ut_update_ref_count+0x2f7/0x2fe
[ 78.239995] acpi_ut_update_object_reference+0x114/0x182
[ 78.239995] acpi_ut_add_reference+0x1b/0x1e
[ 78.239995] acpi_ds_init_package_element+0x149/0x16e
[ 78.239995] ? acpi_ds_build_internal_object+0xca/0x12c
[ 78.239995] acpi_ds_build_internal_package_obj+0x1b2/0x258
[ 78.239995] ? acpi_ds_build_internal_package_obj+0x1b2/0x258
[ 78.239995] acpi_ds_eval_data_object_operands+0xd3/0x123
[ 78.239995] acpi_ds_exec_end_op+0x288/0x3e1
[ 78.239995] acpi_ps_parse_loop+0x519/0x57b
[ 78.239995] acpi_ps_parse_aml+0x93/0x29c
[ 78.239995] acpi_ps_execute_method+0x148/0x17f
[ 78.239995] acpi_ns_evaluate+0x1c1/0x24d
[ 78.239995] acpi_ut_evaluate_object+0x72/0x197
[ 78.239995] acpi_rs_get_prt_method_data+0x21/0x45
[ 78.239995] acpi_get_irq_routing_table+0x2c/0x30
[ 78.239995] acpi_pci_irq_find_prt_entry+0x8e/0x2c0
[ 78.239995] ? irq_get_irq_data+0x9/0x20
[ 78.239995] ? mp_unmap_irq+0xf/0x70
[ 78.239995] acpi_pci_irq_lookup+0x26/0x1a0
[ 78.239995] acpi_pci_irq_enable+0x5b/0x1b0
[ 78.239995] ? pci_read_config_word+0x22/0x30
[ 78.239995] pcibios_enable_device+0x28/0x30
[ 78.239995] do_pci_enable_device+0x5f/0xe0
[ 78.239995] pci_enable_device_flags+0xc3/0x110
[ 78.239995] pci_enable_device_mem+0xe/0x10
[ 78.239995] nvme_reset_work+0x4c/0x1610
[ 78.239995] ? sched_clock+0x9/0x10
[ 78.239995] ? sched_clock_local+0x17/0x90
[ 78.239995] ? _raw_spin_lock+0x9/0x10
[ 78.239995] ? pick_next_task_fair+0x420/0x690
[ 78.239995] ? _raw_spin_unlock_irq+0x9/0x20
[ 78.239995] ? finish_task_switch+0x7b/0x1f0
[ 78.239995] ? __schedule+0x2d7/0x800
[ 78.239995] process_one_work+0x1db/0x3e0
[ 78.239995] worker_thread+0x43/0x3f0
[ 78.239995] kthread+0x103/0x140
[ 78.239995] ? process_one_work+0x3e0/0x3e0
[ 78.239995] ? kthread_create_on_node+0x40/0x40
[ 78.239995] ret_from_fork+0x25/0x30
More information about the Linux-nvme
mailing list