Instead of waiting fo sweep_interval to expire, start the sweep
imeediately. That can speed-up SM bring up.

Found-by: Eli Dorfman <[email protected]>
Signed-off-by: Alex Netes <[email protected]>
---
 opensm/osm_sm_state_mgr.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/opensm/osm_sm_state_mgr.c b/opensm/osm_sm_state_mgr.c
index 7da8258..c996ea2 100644
--- a/opensm/osm_sm_state_mgr.c
+++ b/opensm/osm_sm_state_mgr.c
@@ -294,11 +294,13 @@ ib_api_status_t osm_sm_state_mgr_process(osm_sm_t * sm,
                        break;
                case OSM_SM_SIGNAL_HANDOVER:
                        /*
-                        * Do nothing. We will discover it later on. If we 
already discovered
-                        * this SM, and got the HANDOVER - this means the 
remote SM is of
-                        * lower priority. In this case we will stop polling it 
(since it is
-                        * a lower priority SM in STANDBY state).
+                        * Signal for a new sweep. We need to discover the 
other SM.
+                        * If we already discovered this SM, and got the
+                        * HANDOVER - this means the remote SM is of lower 
priority.
+                        * In this case we will stop polling it (since it is a 
lower
+                        * priority SM in STANDBY state).
                         */
+                       osm_sm_signal(sm, OSM_SIGNAL_SWEEP);
                        break;
                default:
                        sm_state_mgr_signal_error(sm, signal);
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to