numam-spdk/lib
Ben Walker 4dba507224 nvmf/tcp: Simplify qpair resource initialization
The resources allocated to a queue pair do not need to be directly
correlated to the queue size requested by the initiator in NVMe-oF, as
long as enough resources are present. The RDMA transport, for instance,
does complex pooling of the resources behind the scenes when using a
shared receive queue.

Simplify the resource allocation for a TCP qpair to just always allocate
the max allowed queue size right away. This is a configurable parameter,
so system administrators can adjust for their needs. The initiator may
then request a queue size less than or equal to that, which will only be
enforced by queue depth counting and not impact the actual number of
resources allocated on the target.

This change relies on the MaxC2HSize being equal to the Maximum Data
Transfer Size (MDTS) reported. That is the default configuration, but
MDTS is configurable. Changing the MDTS with this patch to a value
larger than 128k will cause the target to break. This is addressed in
the next patch in this series.

Change-Id: Ibd4723785c6a4d8d444f9b7bbfa89f98de2320f5
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479733
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
..
bdev bdev: handle unlock v. lock race 2020-01-27 17:39:52 +00:00
blob lib/blob: split loading next md_chain to separate function 2020-01-22 13:52:49 +00:00
blobfs blobfs: write IO directly if it is lba aligned 2020-01-07 12:19:14 +00:00
conf
copy lib/copy: move ioat subdir to module directory. 2019-08-22 16:29:49 +00:00
env_dpdk env/dpdk: Detect DPDK's iova mode 2020-01-07 12:14:56 +00:00
env_ocf lib/bdev/ocf: update of ocf library to version 19.06 2019-10-22 17:22:41 +00:00
event lib/app: Change signal handler to use spdk_thread_send_critical_msg 2020-01-13 12:42:49 +00:00
ftl lib/ftl: Change "lbk" name to "block" 2020-01-17 08:59:08 +00:00
ioat lib/ioat: Fix the error message when enabling ioat during application shutdown. 2019-12-30 03:09:01 +00:00
iscsi lib/iscsi: Using async writev for ISCSI_OP_LOGOUT_RSP PDU 2020-01-23 02:29:58 +00:00
json
jsonrpc json: increase the json rpc client value limit 2019-11-18 13:16:49 +00:00
log lib/log: passing va_list to user-provided log call 2019-10-09 14:35:51 +00:00
log_rpc RPC: rename get_log_flags to log_get_flags 2019-09-24 16:42:41 +00:00
lvol lib/blob: store clear_method in per blob metadata 2020-01-20 09:57:16 +00:00
nbd rpc: Rename get_nbd_disks to nbd_get_disks 2019-09-19 20:56:35 +00:00
net net: add the check for the add and delete IP operation 2019-12-09 17:39:50 +00:00
notify RPC: rename get_notifications to notify_get_notifications 2019-09-24 16:42:41 +00:00
nvme lib/nvme: fix cm event handling during rdma qpair shutdown. 2020-01-23 15:14:55 +00:00
nvmf nvmf/tcp: Simplify qpair resource initialization 2020-01-27 17:42:24 +00:00
reduce lib/reduce: move _alloc_zero_buf earlier in init stage. 2019-12-19 11:04:57 +00:00
rocksdb
rpc RPC: properly set the address in error cases 2019-12-04 15:11:55 +00:00
rte_vhost vhost: make SPDK internal vhost library can work compatible with live recovery 2020-01-22 13:54:19 +00:00
scsi lib/scsi: Move scsi_task_free_data() in a file to remove function declaration 2019-11-21 08:01:29 +00:00
sock sock/posix: Add flush 2020-01-22 13:53:09 +00:00
thread thread: free message event after executing the callback successfully 2020-01-22 01:25:03 +00:00
trace trace: fix calculation of histories_size 2019-11-06 15:19:48 +00:00
ut_mock test: Add mocks for sendmsg and recvmsg 2019-11-01 17:56:16 +00:00
util util: Add spdk_iovcpy, an iovec to iovec copy function. 2019-11-20 09:35:32 +00:00
vhost vhost_blk: need init task when resubmit the blk request 2020-01-24 08:07:13 +00:00
virtio virtio_user: use correct #ifndef for the internal vhost.h header 2020-01-10 08:45:45 +00:00
vmd lib/vmd: track hotplug memory usage 2019-12-12 14:52:59 +00:00
Makefile make: add dependencies for the rte_vhost build. 2019-09-09 22:15:24 +00:00