numam-spdk/lib/nvmf
Ben Walker a2adca79d9 nvmf/tcp: Set up math to always use 1 R2T per nvme command
With our target design, there's no advantage to sending
multiple R2T PDUs per nvme command. This patch starts by
setting up the math so that at most 1 R2T PDU is required
per request. This can be guaranteed because the maximum
data transfer size (MDTS) is pre-negotiated in NVMe-oF
to a reasonable size at start up.

It then proceeds to simplify all of the logic around mapping
requests to PDUs. It turns out that the mapping is now always
1:1. There are two additional cases where there is no request
object at all but a PDU is still needed - the connection response
and termination request. Put an extra PDU on the queue object
for that purpose.

This is a major simplification.

Change-Id: I8d41f9bf95e70c354ece8fb786793624bec757ea
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479905
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com>
2020-01-27 17:42:24 +00:00
..
ctrlr_bdev.c nvmf: Return ACWU and NACWU values in indentify structures 2020-01-27 17:39:52 +00:00
ctrlr_discovery.c nvmf: don't keep a global discovery log page. 2019-09-03 00:30:59 +00:00
ctrlr.c nvmf/tcp: Simplify qpair resource initialization 2020-01-27 17:42:24 +00:00
custom_cmd_hdlr.c lib/nvmf: custom admin cmd handler 2020-01-20 09:56:35 +00:00
fc_ls.c lib/nvmf: get_transport now takes a string. 2020-01-16 09:10:38 +00:00
fc.c nvmf: pass listen done cb to transport specific code 2020-01-16 09:18:38 +00:00
Makefile lib/nvmf: custom admin cmd handler 2020-01-20 09:56:35 +00:00
nvmf_fc.h lib/nvme: update trid struct with trstring. 2020-01-16 09:10:38 +00:00
nvmf_internal.h nvmf: Add support for compare op command 2020-01-27 17:39:52 +00:00
nvmf_rpc.c lib/nvmf: nvmf target stops to listen when subsystem is destroyed 2020-01-22 13:53:34 +00:00
nvmf.c lib/nvmf: nvmf target stops to listen when subsystem is destroyed 2020-01-22 13:53:34 +00:00
rdma.c nvmf/rdma: fix call to spdk_nvmf_rdma_listen 2020-01-23 16:38:46 +00:00
subsystem.c lib/nvmf: nvmf target stops to listen when subsystem is destroyed 2020-01-22 13:53:34 +00:00
tcp.c nvmf/tcp: Set up math to always use 1 R2T per nvme command 2020-01-27 17:42:24 +00:00
transport.c nvmf/tcp: Simplify qpair resource initialization 2020-01-27 17:42:24 +00:00
transport.h nvmf/tcp: Simplify qpair resource initialization 2020-01-27 17:42:24 +00:00