08273e77de
Purpose: But if we use asynchronous writev for pdu sending, the call_back of writev may occur after the new data coming. So it means that the free tcp request may not be available. So we use the strategy to check the request status in TCP_REQUEST_STATE_TRANSFERRING_CONTROLLER_TO_HOST. So the strategy is checking the state_cntr of all the reqs in TCP_REQUEST_STATE_TRANSFERRING_CONTROLLER_TO_HOST state. 1 If the state_cntr > 0, we should queue the new request. 2 If the statec_cntr == 0, it means that there is no available slot for the new tcp request , i.e., the new nvme command comming from the initiator. If we receive this, it means that the initiator sends more requests,and we should reject it. Signed-off-by: Ben Walker <benjamin.walker@intel.com> Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id: Ifbeb510e669082cb7b80faf2e7987075af31d176 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/472912 Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.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> |
||
---|---|---|
.. | ||
bdev | ||
blob | ||
blobfs | ||
conf | ||
copy | ||
env_dpdk | ||
env_ocf | ||
event | ||
ftl | ||
ioat | ||
iscsi | ||
json | ||
jsonrpc | ||
log | ||
log_rpc | ||
lvol | ||
nbd | ||
net | ||
notify | ||
nvme | ||
nvmf | ||
reduce | ||
rocksdb | ||
rpc | ||
rte_vhost | ||
scsi | ||
sock | ||
thread | ||
trace | ||
ut_mock | ||
util | ||
vhost | ||
virtio | ||
vmd | ||
Makefile |