提交 12e4101a 编写于 作者: N Nicholas Bellinger

iscsi-target: Remove unnecessary wait_for_completion in iscsi_get_thread_set

This patch removes an unnecessary wait_for_completion within
iscsi_get_thread_set(), that would wait for 1 second before
trying to obtain an inactive struct iscsi_thread_set from
iscsi_get_ts_from_inactive_list().

Since iscsi_allocate_thread_sets() will already be adding the
newly allocated iscsi_thread_set to the inactive list directly,
there is no need to wait here.
Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
上级 5ab41ca4
...@@ -222,25 +222,12 @@ void iscsi_activate_thread_set(struct iscsi_conn *conn, struct iscsi_thread_set ...@@ -222,25 +222,12 @@ void iscsi_activate_thread_set(struct iscsi_conn *conn, struct iscsi_thread_set
struct iscsi_thread_set *iscsi_get_thread_set(void) struct iscsi_thread_set *iscsi_get_thread_set(void)
{ {
int allocate_ts = 0; struct iscsi_thread_set *ts;
struct completion comp;
struct iscsi_thread_set *ts = NULL;
/*
* If no inactive thread set is available on the first call to
* iscsi_get_ts_from_inactive_list(), sleep for a second and
* try again. If still none are available after two attempts,
* allocate a set ourselves.
*/
get_set: get_set:
ts = iscsi_get_ts_from_inactive_list(); ts = iscsi_get_ts_from_inactive_list();
if (!ts) { if (!ts) {
if (allocate_ts == 2) iscsi_allocate_thread_sets(1);
iscsi_allocate_thread_sets(1);
init_completion(&comp);
wait_for_completion_timeout(&comp, 1 * HZ);
allocate_ts++;
goto get_set; goto get_set;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册