From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Hi folks, This -v2 series for v3.12-rc1 adds support for login multi-plexing, that allows subsequent login request/request PDUs beyond the initial exchange to be pushed off to workqueue process context, so that other incoming login requests can be serviced in parallel. This addresses a long-standing issue with login latency with many (100's) of parallel login requests to the same network portal being shared across many (100's) of TargetName+TargetPortalGroup endpoints. Note that login negotiation to the same TargetName+TargetPortalGroup endpoint is still sychronized in order to enforce session reinstatement state machines. The changes for v2 include: - Fix iscsit_transport reference leak during NP thread reset - Remove duplicate call to iscsi_post_login_handler() in __iscsi_target_login_thread() - Drop unused iscsi_np->np_login_tpg - Add login_timer in iscsi_target_do_login_rx() to avoid possible endless sleep with MSG_WAITALL for traditional iscsi-target in certain network configurations. - Convert lprintk() -> pr_debug() - Remove forward declarations of iscsi_target_set_sock_callbacks(), iscsi_target_restore_sock_callbacks() and iscsi_target_sk_data_ready() - Make iscsi_target_set_sock_callbacks + iscsi_target_restore_sock_callbacks() static (Fengguang) - Make iscsi_target_do_login_rx() safe for iser-target w/o conn->sock - Updates to iser-target for login negotiation multi-plexing support The main remaining FIXME is to keep track of connections that are pushed out to workqueue process context for explicit network portal shutdown purposes. Thanks! --nab Nicholas Bellinger (4): iscsi-target: Fix iscsit_transport reference leak during NP thread reset iscsi-target: Prepare login code for multi-plexing support iscsi-target: Add login negotiation multi-plexing support iser-target: Updates for login negotiation multi-plexing support drivers/infiniband/ulp/isert/ib_isert.c | 17 +++- drivers/target/iscsi/iscsi_target.c | 53 ++++---- drivers/target/iscsi/iscsi_target.h | 6 +- drivers/target/iscsi/iscsi_target_core.h | 12 ++- drivers/target/iscsi/iscsi_target_login.c | 171 +++++++++++++---------- drivers/target/iscsi/iscsi_target_login.h | 3 + drivers/target/iscsi/iscsi_target_nego.c | 209 +++++++++++++++++++++++++++- drivers/target/iscsi/iscsi_target_tpg.c | 23 +++- drivers/target/iscsi/iscsi_target_tpg.h | 4 +- 9 files changed, 378 insertions(+), 120 deletions(-) -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html