Spdk/lib
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
..
accel check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
bdev bdev/qos: Process whole QoS queue on every Qos poll 2022-07-26 08:33:45 +00:00
blob blobstore: implement spdk_bs_grow and bdev_lvol_grow_lvstore RPC 2022-06-28 17:55:43 +00:00
blobfs blobfs: rename tree.h to cache_tree.h 2022-07-21 07:03:26 +00:00
conf Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
dma check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
env_dpdk check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
env_ocf check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
event lib/event: do not set default scheduling period during init 2022-06-20 09:56:09 +00:00
ftl FTL: Add FTL bdev module 2022-07-25 07:19:29 +00:00
idxd idxd: rename internal header file to idxd_internal.h 2022-07-21 07:03:26 +00:00
init Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ioat check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
iscsi check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
json check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
jsonrpc check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
log Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
lvol blobstore: implement spdk_bs_grow and bdev_lvol_grow_lvstore RPC 2022-06-28 17:55:43 +00:00
nbd check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
notify Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme nvme/rdma: Create poller and CQ on demand 2022-07-22 07:27:22 +00:00
nvmf lib/nvmf: use DSA to offload recv data digest crc32 in nvmf-TCP 2022-07-27 08:39:35 +00:00
rdma Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
reduce check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
rocksdb Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
rpc Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
scsi check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
sock sock: Add ktls and tls_version to spdk_sock_impl_opts 2022-07-22 06:41:39 +00:00
thread thread: let spdk_thread_create() accept const spdk_cpuset* 2022-06-24 07:22:53 +00:00
trace Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
trace_parser Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ut_mock Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
util util: Extract a common lib between iovs and buf. 2022-06-20 10:01:15 +00:00
vfio_user lib/vfio_user: change the calculation of bar_addr 2022-06-15 08:10:32 +00:00
vhost vhost/rpc: return errno from virtio_blk_create_transport 2022-07-11 07:41:22 +00:00
virtio virtio: rename header to vhost_user_internal.h 2022-07-21 07:03:26 +00:00
vmd vmd: rename internal header file to vmd_internal.h 2022-07-21 07:03:26 +00:00
Makefile ftl: core structure 2022-07-11 07:23:58 +00:00