numam-spdk/lib/iscsi
Changpeng Liu 22440c7a23 iscsi: fix the run out of task pool issue
When performed limitation iSCSI tests, 128 target nodes with 1
connection for each target node, for IO bigger than 256KiB iSCSI
target will report run of out task pool issue sometimes. When
all the iSCSI parameters with default values, each connection
will consume maximum 189 tasks, we hardcoded the task pool with
16384, so 189 * 128 connection will exceed 16384. Increase the
default number from 16384 to 32768 will fix the issue.
With 1MiB block size and queue depth with 128 for each connection,
there will be 64 outstanding iSCSI commands in the iSCSI target,
for Writes, the maximum R2T number is 4, so the maximum tasks for
the 4 R2T is (1 + 16) * 4 = 68, 8KiB for the first burst task, 16
for the data segment. For Reads, the maximum 64 data in segment can
be used as 4 iSCSI Read commands. The rest 56 iSCSI commands will
cost 56 tasks, so the total number is 56 + 64 + 68 = 188, 1 additional
task for NOP task.

Change-Id: I945871cbe3076139f08c2ef647af2d9c84601dcb
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
2017-02-22 19:13:50 -07:00
..
acceptor.c event: remove 'complete' parameter from poller_register 2017-01-05 11:57:18 -07:00
acceptor.h iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
conn.c Rename instance_id to shm_id and make it default to pid 2017-02-15 17:16:37 -07:00
conn.h iscsi: move extern g_conn_array to conn.h (#111) 2017-02-13 09:57:37 -07:00
crc32c.c iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
crc32c.h iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
init_grp.c log: split internal TRACELOG macro into new header 2016-11-16 13:33:51 -07:00
init_grp.h iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
iscsi_rpc.c iscsi: move extern g_conn_array to conn.h (#111) 2017-02-13 09:57:37 -07:00
iscsi_subsystem.c iscsi: fix the run out of task pool issue 2017-02-22 19:13:50 -07:00
iscsi.c iscsi: handle the corner case while partial read is failed 2017-01-11 13:15:21 -07:00
iscsi.h event: pass arg1 and arg2 directly to event fn 2017-01-05 11:57:18 -07:00
Makefile env: Make the environment library configurable. 2016-10-05 11:51:37 -07:00
md5.c Fix some cppcheck errors on lib/iscsi & lib/scsi. (#41) 2016-09-28 13:55:56 -07:00
md5.h iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
param.c log: split internal TRACELOG macro into new header 2016-11-16 13:33:51 -07:00
param.h iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
portal_grp.c iscsi: fix unused variable warning in release build 2016-11-17 10:29:11 -07:00
portal_grp.h iscsi: Add an iscsi library. 2016-08-03 14:43:40 -07:00
task.c Replace rte_panic() with abort() 2016-11-08 08:57:49 -07:00
task.h scsi: change spdk_put_task to spdk_scsi_task_put 2016-09-29 15:42:29 -07:00
tgt_node.c event: remove spdk_event_allocate() next parameter 2017-01-05 11:57:18 -07:00
tgt_node.h iscsi: start all sessions for a target node on the same lcore 2016-09-22 09:12:36 -07:00