Hi Jens, The 1st patch avoids to fail driver tag allocation because of inactive hctx, so hang risk can be killed during cpu hotplug. The 2nd patch fixes blk_mq_all_tag_iter so that we can drain all requests before one hctx becomes inactive. Both fixes bf0beec0607d ("blk-mq: drain I/O when all CPUs in a hctx are offline"). John has verified that the two can fix his request timeout issue during cpu hotplug. Christoph Hellwig (1): blk-mq: split out a __blk_mq_get_driver_tag helper Ming Lei (1): blk-mq: fix blk_mq_all_tag_iter block/blk-mq-tag.c | 39 ++++++++++++++++++++++++++++++++++++--- block/blk-mq-tag.h | 8 ++++++++ block/blk-mq.c | 29 ----------------------------- block/blk-mq.h | 1 - 4 files changed, 44 insertions(+), 33 deletions(-) Cc: Dongli Zhang <dongli.zhang@xxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Daniel Wagner <dwagner@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: John Garry <john.garry@xxxxxxxxxx> -- 2.25.2