Re: [PATCH 1/1] block: Use RCU in blk_mq_[un]quiesce_tagset() instead of set->tag_list_lock
From: Bart Van Assche
Date: Thu Dec 04 2025 - 13:22:40 EST
On 12/4/25 8:11 AM, Mohamed Khalfella wrote:
@@ -4302,6 +4302,8 @@ static void blk_mq_del_queue_tag_set(struct request_queue *q)Yikes. This change slows down all blk_mq_del_queue_tag_set() callers.
blk_mq_update_tag_set_shared(set, false);
}
mutex_unlock(&set->tag_list_lock);
+
+ synchronize_rcu();
INIT_LIST_HEAD(&q->tag_set_list);
}
Please fix the reported deadlock by modifying the NVMe code instead of
slowing down the block layer.
Thanks,
Bart.