nvme-6.3: blktests nvme/45 lockdep warning
Daniel Wagner
dwagner at suse.de
Mon Jan 30 03:08:02 PST 2023
Hi,
while trying to get a baseline run with blktest against the current nvme-6.3
branch I got a lockdep warning. I haven't really looked into it yet. I
as that Shinichiro has fixed a bunch of those in v5.19. Thought this one
looks slightly different.
============================================
WARNING: possible recursive locking detected
6.2.0-rc4+ #1 Not tainted
--------------------------------------------
kworker/u16:7/69 is trying to acquire lock:
ffff902d52e65548 ((wq_completion)nvme-wq){+.+.}-{0:0}, at: start_flush_work+0x2c5/0x380
but task is already holding lock:
ffff902d52e65548 ((wq_completion)nvme-wq){+.+.}-{0:0}, at: process_one_work+0x210/0x410
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock((wq_completion)nvme-wq);
lock((wq_completion)nvme-wq);
*** DEADLOCK ***
May be due to missing lock nesting notation
3 locks held by kworker/u16:7/69:
#0: ffff902d52e65548 ((wq_completion)nvme-wq){+.+.}-{0:0}, at: process_one_work+0x210/0x410
#1: ffffa9d34028fe68 ((work_completion)(&ctrl->dhchap_auth_work)){+.+.}-{0:0}, at: process_one_work+0x236/0x410
#2: ffffffffa0d768e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
stack backtrace:
CPU: 0 PID: 69 Comm: kworker/u16:7 Not tainted 6.2.0-rc4+ #1 c9afca57e89c2aa3234427c2cd6cd4dd2984ae8c
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
Workqueue: nvme-wq nvme_ctrl_auth_work [nvme_core]
Call Trace:
<TASK>
dump_stack_lvl+0x5a/0x80
validate_chain+0x1e02/0x2730
? lockdep_unlock+0x51/0xc0
? stack_trace_save+0x48/0x70
? lockdep_unlock+0x51/0xc0
? validate_chain+0x7c8/0x2730
? __lock_acquire+0x8f7/0xbc0
__lock_acquire+0x8f7/0xbc0
? lock_is_held_type+0x8b/0x110
lock_acquire+0xb0/0x180
? start_flush_work+0x2c5/0x380
? lock_release+0xf7/0x400
start_flush_work+0x2e5/0x380
? start_flush_work+0x2c5/0x380
__flush_work+0x79/0xc0
? start_flush_work+0x380/0x380
nvme_ctrl_auth_work+0x7e/0x240 [nvme_core d5def95a27d83838db4779d3aac9ae3cccc50795]
process_one_work+0x26a/0x410
worker_thread+0x21d/0x490
? _raw_spin_unlock_irqrestore+0x32/0x50
? rcu_lock_release+0x20/0x20
kthread+0xe1/0x100
? kthread_blkcg+0x30/0x30
ret_from_fork+0x1f/0x30
</TASK>
Thanks,
Daniel
More information about the Linux-nvme
mailing list