Spdk/lib/iscsi
Shuhei Matsumoto de5f1ea0ba lib/iscsi: Create and terminate poll group threads explicitly
Login acceptor still runs on one of the default reactor threads,
but we move iSCSI poll group from the default reactor threads to
dedicated threads created at startup.

At startup, use reference count to detect completion and
move to the next step. By returning completion message to the init
thread, we can avoid using any atomic operation.

At shutdown, we can use spdk_for_each_channel() conveniently. Put
voluntary spdk_thread_exit() calls into the callback to
spdk_put_io_channel().

Moving login acceptor to a dedicated thread is another task.

To maintain the original behavior, number of threads created is
the number of cores that SPDK app uses.

Change-Id: Ifd1de9343ac0183254ca608d1fd8faa94acc254e
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/492
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2020-02-17 10:06:47 +00:00
..
conn.c lib/iscsi: Send message to request logout to active connection 2020-02-17 10:06:47 +00:00
conn.h lib/iscsi: Add two parameters in spdk_iscsi_conn_write_pdu 2020-01-23 02:29:58 +00:00
init_grp.c rpc: Rename add_initiator_group to iscsi_create_initiator_group 2019-09-24 16:40:01 +00:00
init_grp.h iscsi: Use not malloc'ed but fixed size string for initiator address 2019-07-01 05:03:07 +00:00
iscsi_rpc.c lib/iscsi: Remove the code for the deprecated CPU mask 2019-12-06 14:50:43 +00:00
iscsi_subsystem.c lib/iscsi: Create and terminate poll group threads explicitly 2020-02-17 10:06:47 +00:00
iscsi.c lib/iscsi: Using async writev for ISCSI_OP_LOGOUT_RSP PDU 2020-01-23 02:29:58 +00:00
iscsi.h lib/iscsi: Create and terminate poll group threads explicitly 2020-02-17 10:06:47 +00:00
Makefile mk: add a lib deps file. 2019-08-23 17:48:35 +00:00
md5.c astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
md5.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
param.c iscsi: Remove the prefix spdk_ from names of private functions 2019-04-01 00:52:56 +00:00
param.h lib/iscsi: Move function declaration to param.h to match function body 2019-11-19 09:10:14 +00:00
portal_grp.c lib/iscsi: Send message to add connection to poll group even at startup 2020-02-17 10:06:47 +00:00
portal_grp.h lib/iscsi: Send message to add connection to poll group even at startup 2020-02-17 10:06:47 +00:00
task.c iscsi: put data_cnt_in operation in iscsi task get and free 2019-12-04 15:34:54 +00:00
task.h lib/iscsi: Fix double free of primary task when write I/O is split 2019-12-05 12:21:09 +00:00
tgt_node.c lib/iscsi: Request logout to asynchronously to initiator 2019-10-09 02:45:17 +00:00
tgt_node.h rpc: Rename delete_pg_ig_maps to iscsi_target_node_remove_pg_ig_maps 2019-09-18 18:09:13 +00:00