Commit 877d95b5 authored by Serguei Smirnov's avatar Serguei Smirnov Committed by Oleg Drokin
Browse files

LU-13892 lnet: lock-up during router check



This is a fix for the issue with LNet lock-up while waiting
for routers to become active with check_routers_before_use
option. Release ln_api_mutex while waiting to allow
incoming connections to be handled.
Signed-off-by: default avatarSerguei Smirnov <ssmirnov@whamcloud.com>
Change-Id: I63b1d1ce5ee2b27a3bd2cea78713fc6fc7502cf7
Reviewed-on: https://review.whamcloud.com/40172

Tested-by: default avatarjenkins <devops@whamcloud.com>
Reviewed-by: default avatarOlaf Faaland-LLNL <faaland1@llnl.gov>
Tested-by: default avatarMaloo <maloo@whamcloud.com>
Reviewed-by: default avatarAmir Shehata <ashehata@whamcloud.com>
Reviewed-by: default avatarOleg Drokin <green@whamcloud.com>
parent 2040144a
......@@ -842,6 +842,7 @@ lnet_wait_known_routerstate(void)
LASSERT(the_lnet.ln_mt_state == LNET_MT_STATE_RUNNING);
/* the_lnet.ln_api_mutex must be locked */
for (;;) {
int cpt = lnet_net_lock_current();
......@@ -865,8 +866,10 @@ lnet_wait_known_routerstate(void)
if (all_known)
return;
mutex_unlock(&the_lnet.ln_api_mutex);
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(cfs_time_seconds(1));
mutex_lock(&the_lnet.ln_api_mutex);
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment