Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
The ln_mt_waitq is only ever waited on by a
wait_event_interruptble_timeout()
call which waits for 'false' to be 'true'. As false is never true, this always waits the full timeout, which makes the waitq pointless, and explains the effort that has gone in to choosing a good timeout value.
Place that wakeup this waitqueue should set a flag so that lnet_monitor thread knows something has happened and that it should stop waiting.
This is most easily done by changing the waitqueue to a completion, as a compltion is a waitqueue combined with a flag (actually a counter).
The timeout should be changed too - probably it can then be must larger.