Spdk/lib/nvmf
Alexey Marchuk 3e5ea7ff33 nvmf/tcp: Send several C2H for large read op with DIF
Socket request has iov vector of limited size and when
DIF insert of strip feature is enabled we send each data
block as separate iov element to remove metadata.
In the case of large read operation there might be not
enough iov elements to describe all data block. In this
case we can send several C2H PDUs.
To estimate the number of bytes that can be written
with single C2H we try to fill socket iovs. That is
not so cheap operation so this fix is implemented
for DIF case only. Also data buffers in regular
read operation should always fit into socket iov
vector.

Fixes issue #1674

Change-Id: Ie7197f96175ecc0a760d91d35b668512432ef7a7
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5968
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
2021-01-21 09:55:53 +00:00
..
ctrlr_bdev.c log: remove internal log.h header 2020-10-15 08:23:39 +00:00
ctrlr_discovery.c nvmf: Async event support for discovery log change 2020-11-11 00:53:57 +00:00
ctrlr.c nvmf: revert 'commit ae207216fb ("nvmf: remove request exec backdoor")' 2021-01-11 23:18:07 +00:00
fc_ls.c nvmf/fc: Handle out of order fused commands. 2021-01-14 16:18:25 +00:00
fc.c nvmf/fc: free g_nvmf_ftransport after nvmf_fc_lld_fini is complete. 2021-01-19 21:05:19 +00:00
Makefile NVMf: Add a custom(VFIOUSER) transport target support 2021-01-21 05:00:18 +00:00
nvmf_fc.h nvmf/fc: Add flag to differentiate LS queue and non LS queue. 2021-01-14 16:18:25 +00:00
nvmf_internal.h lib/nvmf: mask pending AENs 2020-12-18 09:48:07 +00:00
nvmf_rpc.c nvmf: make transport service id optional 2020-12-28 14:04:39 +00:00
nvmf.c nvmf: introduce function to init listen opts 2020-12-28 13:37:07 +00:00
rdma.c nvmf/rdma: Remove handling of buffers split over MR 2021-01-18 13:02:20 +00:00
spdk_nvmf.map nvmf: revert 'commit ae207216fb ("nvmf: remove request exec backdoor")' 2021-01-11 23:18:07 +00:00
subsystem.c nvmf: add notifications about ns to the transport 2020-12-28 13:52:45 +00:00
tcp.c nvmf/tcp: Send several C2H for large read op with DIF 2021-01-21 09:55:53 +00:00
transport.c nvmf: introduce listener opts 2020-12-28 13:37:07 +00:00
transport.h nvmf: Allow nvmf_transport_qpair_fini to complete asynchronously. 2020-11-18 11:28:02 +00:00
vfio_user.c NVMf: Add a custom(VFIOUSER) transport target support 2021-01-21 05:00:18 +00:00