nvme: add support for mq_ops->queue_rqs()
authorJens Axboe <axboe@kernel.dk>
Thu, 18 Nov 2021 15:37:30 +0000 (08:37 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 16 Dec 2021 17:54:36 +0000 (10:54 -0700)
commitd62cbcf62f2f4bf933d18113bcda45e18cc890f6
tree704ad1b9cc7e1e1d01b9934a3dadafada67c3bb3
parent62451a2b2e7ea17c4a547ada6a5deebf8787a27a
nvme: add support for mq_ops->queue_rqs()

This enables the block layer to send us a full plug list of requests
that need submitting. The block layer guarantees that they all belong
to the same queue, but we do have to check the hardware queue mapping
for each request.

If errors are encountered, leave them in the passed in list. Then the
block layer will handle them individually.

This is good for about a 4% improvement in peak performance, taking us
from 9.6M to 10M IOPS/core.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/pci.c