Hi, Use blk_mq_alloc_request() for allocating NVMe loop, fc, rdma and tcp's connect request, and selecting transport queue runtime for connect request. Then kill blk_mq_alloc_request_hctx(). Ming Lei (3): block: reuse one scheduler/flush field for private request's data nvme: don't use blk_mq_alloc_request_hctx() for allocating connect request blk-mq: kill blk_mq_alloc_request_hctx() block/blk-mq.c | 46 -------------------------------------- drivers/nvme/host/core.c | 9 +++----- drivers/nvme/host/fc.c | 10 +++++++++ drivers/nvme/host/rdma.c | 40 ++++++++++++++++++++++++++++++--- drivers/nvme/host/tcp.c | 41 ++++++++++++++++++++++++++++++--- drivers/nvme/target/loop.c | 42 +++++++++++++++++++++++++++++++--- include/linux/blk-mq.h | 3 --- include/linux/blkdev.h | 6 ++++- 8 files changed, 132 insertions(+), 65 deletions(-) Cc: James Smart <james.smart@xxxxxxxxxxxx> Cc: Sagi Grimberg <sagi@xxxxxxxxxxx> -- 2.20.1