Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
Potential deadlock here when LNet is shutting down:
static int lnet_peer_discovery(void *arg) ... for (;;) { ... lnet_net_lock(LNET_LOCK_EX); if (the_lnet.ln_dc_state == LNET_DC_STATE_STOPPING) break; ... } CDEBUG(D_NET, "stopping\n"); /* * Clean up before telling lnet_peer_discovery_stop() that * we're done. Use wake_up() below to somewhat reduce the * size of the thundering herd if there are multiple threads * waiting on discovery of a single peer. */ /* Queue cleanup 1: stop all pending pings and pushes. */ lnet_net_lock(LNET_LOCK_EX); <<< Deadlock ...
Landed for 2.14