On 6/17/20 12:18 AM, Weiping Zhang wrote: > There is an issue when tune the number for read and write queues, > if the total queue count was not changed. The hctx->type cannot > be updated, since __blk_mq_update_nr_hw_queues will return directly > if the total queue count has not been changed. > > Reproduce: > > dmesg | grep "default/read/poll" > [ 2.607459] nvme nvme0: 48/0/0 default/read/poll queues > cat /sys/kernel/debug/block/nvme0n1/hctx*/type | sort | uniq -c > 48 default > > tune the write queues to 24: > echo 24 > /sys/module/nvme/parameters/write_queues > echo 1 > /sys/block/nvme0n1/device/reset_controller > > dmesg | grep "default/read/poll" > [ 433.547235] nvme nvme0: 24/24/0 default/read/poll queues > > cat /sys/kernel/debug/block/nvme0n1/hctx*/type | sort | uniq -c > 48 default > > The driver's hardware queue mapping is not same as block layer. Applied, thanks. -- Jens Axboe