Spdk/lib/nvmf
BinYang0 20cd4841f1 lib/nvmf: set low water mark in NVMe/TCP target to 1 byte
In NVMe/TCP target, the socket low water mark is set to
sizeof(struct spdk_nvme_tcp_common_pdu_hdr), which is 8 bytes.
In corner test, there might be 4 bytes data packet sent to
NVMe/TCP target, after that, if there is no more data sent to
the same socket, the 4 bytes won't be read by NVMe/TCP target
qpair thread. Because of this, there is a IO request didn't
complete in initiator. Then, if manual call the readv function to
read the 4 bytes for the pdu in target, the io request complete
normally in initiator. It seems like the pdu might be split,
and in the situation, the IO request will not complete until
new IO request reach.

After set low water mark in NVMe/TCP target to 1 byte, just
like iscsi target done, the issue disappear immediately.

Signed-off-by: BinYang0 <bin.yang@jaguarmicro.com>
Change-Id: I59d3d900f0b25632d786ef25ab096eabe43476bd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13633
Reviewed-by: <chuanwei.ji@jaguarmicro.com>
Reviewed-by: Qingmin Liu <qingmin.liu@jaguarmicro.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-07-13 07:28:52 +00:00
..
ctrlr_bdev.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
ctrlr_discovery.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ctrlr.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
fc_ls.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
fc.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
Makefile libvfio-user: compile shared library based on CONFIG_SHARED flag 2022-06-23 07:43:26 +00:00
nvmf_fc.h check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvmf_internal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvmf_rpc.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvmf.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
rdma.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
spdk_nvmf.map lib/nvmf : Added support for ZCOPY 2021-07-23 08:34:43 +00:00
subsystem.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
tcp.c lib/nvmf: set low water mark in NVMe/TCP target to 1 byte 2022-07-13 07:28:52 +00:00
transport.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
transport.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vfio_user.c nvmf/vfio-user: briefly explain live migration 2022-07-11 07:38:04 +00:00