cf73fb2f1f
This change is related to enabling multi-sgl element support in the NVMe-oF target. For single SGL use cases, there is a 1:1 relationship between rdma_requests and ibv_wrs used to transfer the data associated with the request. In the ingle SGL case that ibv_wr is embedded inside of the spdk_nvmf_rdma_request structure as part of an rdma_request_data structure. However, with Multi-SGL element support, we require multiple ibv_wrs per rdma_request. Insted of embedding these structures inside of the rdma_request and bloating up that object, I opted to leave the first one embedded in the object and create a pool that requests can pull from in the Multi-SGL path. By leaving the first request_data object embedded in the rdma_request structure, we avoid adding the latency of requesting a mempool object in the basic cases. Change-Id: I7282242f1e34a32eb59b55f326a6c331d455625e Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/428561 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>