Skip to content

Commit 46f19be

Browse files
author
Ming Lei
committed
block: move hctx cpuhp add/del out of queue freezing
JIRA: https://issues.redhat.com/browse/RHEL-106845 commit 7ed7fa5 Author: Ming Lei <ming.lei@redhat.com> 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 <hare@suse.de> Reviewed-by: Nilay Shroff <nilay@linux.ibm.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20250505141805.2751237-25-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Ming Lei <ming.lei@redhat.com>
1 parent 4aae9f5 commit 46f19be

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
@@ -5008,7 +5008,7 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
50085008
fallback:
50095009
blk_mq_update_queue_map(set);
50105010
list_for_each_entry(q, &set->tag_list, tag_set_list) {
5011-
blk_mq_realloc_hw_ctxs(set, q);
5011+
__blk_mq_realloc_hw_ctxs(set, q);
50125012

50135013
if (q->nr_hw_queues != set->nr_hw_queues) {
50145014
int i = prev_nr_hw_queues;
@@ -5032,6 +5032,9 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
50325032
list_for_each_entry(q, &set->tag_list, tag_set_list) {
50335033
blk_mq_sysfs_register_hctxs(q);
50345034
blk_mq_debugfs_register_hctxs(q);
5035+
5036+
blk_mq_remove_hw_queues_cpuhp(q);
5037+
blk_mq_add_hw_queues_cpuhp(q);
50355038
}
50365039
memalloc_noio_restore(memflags);
50375040

0 commit comments

Comments
 (0)