On Sun, Dec 16, 2018 at 05:11:59PM +0100, Christoph Hellwig wrote: > On Sun, Dec 16, 2018 at 10:25:14AM +0800, Ming Lei wrote: > > If we don't have poll queue, its mapping should share default type's, > > instead of setting up one new mapping via blk_mq_map_queues(). > > No, if we don't have poll queues nr_maps should be 2. I've already > posted a patch for that for nvme-pci which got it wrong (my fault..) This patch doesn't touch nr_maps. The issue is that if poll_queues/write_queues are zero, all three mapping should be same, however they aren't actually because we still use blk_mq_map_queues() to build a new mapping for poll queue. This difference causes broken mapping especially with help of blk_mq_map_swqueue(), since hctx->type could be re-written. Thanks, Ming