Spdk/lib/nvmf
MengjinWu 7fc2c0856e lib/nvmf: use DSA to offload recv data digest crc32 in nvmf-TCP
allow DSA device to async offload crc32 calculation in nvmf-TCP

This patch can use DSA to accelerate crc32 computation, making
the io performance of TCP paths using crc32 approach the io
performance of TCP paths that do not use crc32.

Using SLIST to minimize the performance drop. SLIST has less
operation compared to TAILQ.

Thinking about memory thrashing, we should use the same memory as
possible to receive new PDUs. So, insert newly freed PDU in to head
is better.

The performance drop is within 1% compared to the TCP path without
crc32.

Signed-off-by: MengjinWu <mengjin.wu@intel.com>
Change-Id: I480eb8db25f0e730cb198ca5ec19dbe3b4d38440
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11708
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-07-27 08:39:35 +00:00
..
ctrlr_bdev.c nvmf: don't report E2E Protection Capabilities to client 2022-07-19 12:31:59 +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 nvmf: decrement mgmt_io_outstanding for all AER cases 2022-07-15 12:51:31 +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 lib/nvmf: rm nvmf_poll_group_add_transport from internal header 2022-07-18 10:18:19 +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 lib/nvmf: rm nvmf_poll_group_add_transport from internal header 2022-07-18 10:18:19 +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 nvmf: check interleaved metadata size when adding NS 2022-07-19 12:31:59 +00:00
tcp.c lib/nvmf: use DSA to offload recv data digest crc32 in nvmf-TCP 2022-07-27 08:39:35 +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