On 7/29/2011 6:26 PM, Jason Gunthorpe wrote: >>> Not sure what I think of this, is dumping counters on all local HCA >>> ports really that interesting? Would this be better done by doing >>> something fancy with nodeGUID so at least all ports on remote HCAs can >>> be dumped too? >> >> The request came in from one of our partners who wanted it for >> tracking performance stats specifically on the local machine. > > Well, I think it would be best to make this work generally which is > fairly hard, unfortunately. > - If the destination is the local HCA then you have to iterate over > all local ports with matching node GUIDs by opening devices > - If the destination is a remote HCA then you have to query the SA > for all nodes with a matching GUID and iterate over them. Ira has > been working on some common code for this.. > - Maybe you want to cross product and try to query the SA attached to > all local end ports to try and find all ports. That would actually be > very useful for many situations I know of... > > Could you make your patch just do #1 and continue to misbehave for > the other cases?
Well, it sort of already does. The patch looks bigger than it is because I had to re-indent in order to put the main functional code inside of a loop. For the most part, the loop is unchanged. Just apply the patch then look at what we do when all_hcas is non-0 right before the do { and right before the } while (ibd_ca); It iterates over all the hca names that libibumad gives us, and then loops over all the ports as returned by libibumad's umad_get_ca(). -- Doug Ledford <dledf...@redhat.com> GPG KeyID: CFBFF194 http://people.redhat.com/dledford Infiniband specific RPMs available at http://people.redhat.com/dledford/Infiniband
signature.asc
Description: OpenPGP digital signature