Skip to content

Commit b5ca5ac

Browse files
author
Ming Lei
committed
block: move hctx cpuhp add/del out of queue freezing
JIRA: https://issues.redhat.com/browse/RHEL-112997 commit 7ed7fa5 Author: Ming Lei <[email protected]> Date: Mon May 5 22:18:02 2025 +0800 block: move hctx cpuhp add/del out of queue freezing Move hctx cpuhp add/del out of queue freezing for not connecting freeze lock with cpuhp locks, then lockdep warning can be avoided. This way is safe because both needn't queue to be frozen and scheduler switch isn't allowed, with same reason for moving hctx debugfs/sysfs register out of queue freeze. Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Nilay Shroff <[email protected]> Signed-off-by: Ming Lei <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]> Signed-off-by: Ming Lei <[email protected]>
1 parent 4a6f62a commit b5ca5ac

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

block/blk-mq.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5010,7 +5010,7 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
50105010
fallback:
50115011
blk_mq_update_queue_map(set);
50125012
list_for_each_entry(q, &set->tag_list, tag_set_list) {
5013-
blk_mq_realloc_hw_ctxs(set, q);
5013+
__blk_mq_realloc_hw_ctxs(set, q);
50145014

50155015
if (q->nr_hw_queues != set->nr_hw_queues) {
50165016
int i = prev_nr_hw_queues;
@@ -5034,6 +5034,9 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
50345034
list_for_each_entry(q, &set->tag_list, tag_set_list) {
50355035
blk_mq_sysfs_register_hctxs(q);
50365036
blk_mq_debugfs_register_hctxs(q);
5037+
5038+
blk_mq_remove_hw_queues_cpuhp(q);
5039+
blk_mq_add_hw_queues_cpuhp(q);
50375040
}
50385041
memalloc_noio_restore(memflags);
50395042

0 commit comments

Comments
 (0)