diff options
| author | Daniel Wagner <wagi@kernel.org> | 2026-10-14 09:46:39 +0200 |
|---|---|---|
| committer | Keith Busch <kbusch@kernel.org> | 2026-10-21 13:28:27 -0700 |
| commit | a504cd79b1670488cf66d56a3c96b2b93b1fd900 (patch) | |
| tree | 8a358428933dfe2e0198ed51e561f165e99b7ac9 /tools/lib/python | |
| parent | 9f426f14051181e251590783e68ce589a63e2b1c (diff) | |
nvme-tcp: initialize pf_cache_lock when allocating the controller
Since commit 61b0ed3be81b ("nvme-tcp: parallelize I/O queue allocation
and startup") the I/O tag set is allocated before the I/O queues.
blk_mq_alloc_tag_set calls nvme_tcp_init_request for every request,
which takes pf_cache_lock of the request's queue, but nvme_tcp_alloc_queue
initializes that mutex only later. With CONFIG_DEBUG_MUTEXES the first
connect triggers DEBUG_LOCKS_WARN_ON(lock->magic != lock) in
__mutex_lock and lock debugging is disabled.
Initialize pf_cache_lock for all queues when allocating the controller
and keep it for the lifetime of the controller.
Fixes: 61b0ed3be81b ("nvme-tcp: parallelize I/O queue allocation and startup")
Reviewed-by: Hannes Reinecke <hare@kernel.org>
Tested-by: Maurizio Lombardi <mlombard@redhat.com>
Tested-by: Saravanan D <saravanand@crusoe.ai>
Signed-off-by: Daniel Wagner <wagi@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
