+32
−9
+1
−0
+1
−0
Loading
We used round robin to schedule target connections. However, this had problems so that targets are not balanced equally among poll groups when target connection up/down was repeated. Fix the problem by scheduling target connections to the idlest poll group. target->num_active_targets is incremented only if target has the first active connection. If connection is deleted before becoming active, target->num_active_conns is not incremented. Add a variable scheduled to iscsi_conn structure to cover such case. Get the global mutex to decrement pg->num_active_targets and keep the same ordering, i.e. get first and free last global mutex, as iscsi_conn_schedule(). Signed-off-by:Shuhei Matsumoto <smatsumoto@nvidia.com> Signed-off-by:
Changqi Lu <luchangqi.123@bytedance.com> Signed-off-by:
zhenwei pi <pizhenwei@bytedance.com> Suggested-by:
Jim Harris <jim.harris@samsung.com> Change-Id: I0671583424d9f08e93839718c543ee3325f179b4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24611 Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by:
Jim Harris <jim.harris@samsung.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com>