On 18:56 Wed 30 Jan     , Sasha Khapyorsky wrote:
> 
> Instead of tricky state machine it implements plain flow do_sweep()
> function which uses wait_for_pending_transaction() blocker.
> 
> One of the goals of this patch is to preserve the original OpenSM
> behavior.

Small bug is here.

OpenSM queries NodeInfo only during discovery and finding a new nodes is
expected. If so we don't need to request new discovery in this case. It
is addition:


diff --git a/opensm/opensm/osm_node_info_rcv.c 
b/opensm/opensm/osm_node_info_rcv.c
index 2106aa2..844dfcf 100644
--- a/opensm/opensm/osm_node_info_rcv.c
+++ b/opensm/opensm/osm_node_info_rcv.c
@@ -853,10 +853,9 @@ void osm_ni_rcv_process(IN void *context, IN void *data)
 
        osm_dump_node_info(sm->p_log, p_ni, OSM_LOG_DEBUG);
 
-       if (!p_node) {
+       if (!p_node)
                __osm_ni_rcv_process_new(sm, p_madw);
-               sm->p_subn->force_heavy_sweep = 1;
-       } else
+       else
                __osm_ni_rcv_process_existing(sm, p_node, p_madw);
 
        CL_PLOCK_RELEASE(sm->p_lock);



Since CHANGE_DETECTED signal was ignored during subnet discovery phase
by old OpenSM state machine it was useless event but worked.

Sasha
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to