mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
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: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
5ab41ca467
commit
12e4101af4
@ -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)
|
||||
{
|
||||
int allocate_ts = 0;
|
||||
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.
|
||||
*/
|
||||
struct iscsi_thread_set *ts;
|
||||
|
||||
get_set:
|
||||
ts = iscsi_get_ts_from_inactive_list();
|
||||
if (!ts) {
|
||||
if (allocate_ts == 2)
|
||||
iscsi_allocate_thread_sets(1);
|
||||
|
||||
init_completion(&comp);
|
||||
wait_for_completion_timeout(&comp, 1 * HZ);
|
||||
|
||||
allocate_ts++;
|
||||
iscsi_allocate_thread_sets(1);
|
||||
goto get_set;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user