linux/drivers/nvme/target
Max Gurtovoy c363f249e7 nvmet-rdma: allocate RW ctxs according to mdts
Current nvmet-rdma code allocates MR pool budget based on queue size,
assuming both host and target use the same "max_pages_per_mr" count.
After limiting the mdts value for RDMA controllers, we know the factor
of maximum MR's per IO operation. Thus, make sure MR pool will be
sufficient for the required IO depth and IO size.

That is, say host's SQ size is 100, then the MR pool budget allocated
currently at target will also be 100 MRs. But 100 IO WRITE Requests
with 256 sg_count(IO size above 1MB) require 200 MRs when target's
"max_pages_per_mr" is 128.

Reported-by: Krishnamraju Eraparaju <krishna2@chelsio.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
2020-03-26 04:51:55 +09:00
..
admin-cmd.c nvmet: Add get_mdts op for controllers 2020-03-26 04:51:54 +09:00
configfs.c nvmet: check sscanf value for subsys serial attr 2020-03-04 09:09:08 -08:00
core.c nvmet: make ctrl model configurable 2020-03-04 09:09:08 -08:00
discovery.c nvmet: fill discovery controller sn, fr and mn correctly 2019-11-04 10:56:42 -07:00
fabrics-cmd.c nvmet: Fix controller use after free 2020-02-05 01:13:09 +09:00
fc.c nvmet: Open code nvmet_req_execute() 2019-11-04 10:56:42 -07:00
fcloop.c nvme_fc: add module to ops template to allow module references 2019-11-27 02:48:27 +09:00
io-cmd-bdev.c nvmet: fix dsm failure when payload does not match sgl descriptor 2020-02-04 03:00:24 +09:00
io-cmd-file.c nvmet: fix dsm failure when payload does not match sgl descriptor 2020-02-04 03:00:24 +09:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
loop.c nvmet-loop: Avoid preallocating big SGL for data 2019-11-27 02:14:19 +09:00
Makefile nvmet: introduce target-side trace 2019-06-21 11:15:46 +02:00
nvmet.h nvmet: Add get_mdts op for controllers 2020-03-26 04:51:54 +09:00
rdma.c nvmet-rdma: allocate RW ctxs according to mdts 2020-03-26 04:51:55 +09:00
tcp.c nvmet-tcp: fix maxh2cdata icresp parameter 2020-03-26 04:49:35 +09:00
trace.c nvmet: trace: parse Get LBA Status command in detail 2019-08-29 12:55:01 -07:00
trace.h nvmet: introduce target-side trace 2019-06-21 11:15:46 +02:00