Hi Al, On 15:08 Mon 03 Mar , Al Chu wrote: > > When we turn on lmc > 0, we noticed that sometimes extra lids from a > port would be forwarded through one parent switch than another. For > example, suppose LMC = 2 and we are trying to route lids (1,2,3,4). The > lids can be forwarded out of 8 ports, which go to two different > switches. We would see something like this: > > switch port 1 (to switch A): 1 > switch port 2 (to switch A): 3 > switch port 3 (to switch A): 4 > switch port 4 (to switch A): > switch port 5 (to switch B): 2 > switch port 6 (to switch B) > switch port 7 (to switch B): > switch port 8 (to switch B): > > This occurs because the routing for LMC only favors those sys_guids and > node_guids that have not been seen before. But it does not consider how > many times we have routed through a sys_guid/node_guid before. > > The patch is fairly straight forward. We just count how many times we > have forwarded to a sys_guid/node_guid before. If there is a port that > has an equal number of paths to another port, but has not been forwarded > out as much, we pick that port. Most of the patch is architectural > changes. I stuff the sys_guid, node_guid, and a counter inside one > struct and array, because we can't count properly using the multiple > uint64_t arrays from before.
This looks like a great improvement. Thanks. 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
