[openib-general] [PATCH]proposal for enabling partial ports on HCA

Pradeep Satyanarayana pradeep at us.ibm.com
Wed Oct 5 10:40:34 PDT 2005





One thing that strikes me is to have a single "bit map" (or it's
equivalent, implemented in say
ib_device). This single "bit map" corresponds to the physical ports. So,
each of the higher level modules
only references this "bit map" and one does not have mad client "bit map",
sa client "bit map" and so on
-is my understanding of your proposal correct?

With multiple "bit maps" isn't there a risk of these not being in sync,
resulting in hard to detect problems?

Pradeep
pradeep at us.ibm.com

openib-general-bounces at openib.org wrote on 10/05/2005 09:52:53 AM:

>
> One HCA could support 256 ports. The current implementation doesn't
> support partially successful ports, which would be a waste if any of
> the port failure. And after adding some break points to induce
> errors in each client during registration, some of the potential
> problems will be triggered. Here is my proposal to enable partial
> ports. Basically the upper user's physical ports number is going to
> replaced by the successful ports bitmap of the client it depends on.
> I have done some research on each client for enabling partially
> ports on HCA, and created some patches and tested the idea. Please
> correct if my understanding is wrong. Also if you have other idea,
> please share.
>
> cache_client: This client allows partially ports. But
> ib_cache_update() might fail on a port whose pkey_cache, gid_cache
> fail to be generated, so all the upper level users can be only
> allowed on the successful ports not the HCA's physical ports number.
> There are 9 upper users there, they are: ib_srp,ib_sdp,ib_uverbs,
> ib_umad,ib_cm, ib_ipoib,ib_sa,ib_mad.
>
> mad_client: This client doesn't allow partially ports. I would like
> to suggestion only enable the ports when both QP0&QP1 are
> successful. Don't know where QP0 can be used while QP1 is absent.
> (You can tell me if there is a case.) The upper users are ib_umad,
> ib_cm, ib_sa.
>
> cm_client: This client doesn't allow partial ports. To enable
> partial ports, these upper users ib_ucm, ib_srp, ib_sdp can be only
> allowed on the successful ports.
>
> sa_client: This client doesn't allow partial ports. To enable
> partial ports, these upper users ib_ipoib, ib_srp, ib_sdp, ib_at can
> be only allowed on the successful ports.
>
> ipoib_client: This client does allow partial ports.
>
> The number of physical ports should be replaced by each client's
> successful ports. For example ipoib_client will be allowed on
> sa_client ports bitmap, sa_client will be allowed on mad_client
> ports bitmap, mad_client will be allowed on cache_client ports bitmap.
>
> Adding bitmap field is not necessary, the ib_cache, ib_device,
> ib_sa_device, cm_device stored all the ports info. ib_uat & kdapl &
> ib_ping should be updated too.
>
> Thanks
> Shirley Ma
> IBM Linux Technology Center
> 15300 SW Koll Parkway
> Beaverton, OR 97006-6063
> Phone(Fax): (503) 578-7638_______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051005/638a2721/attachment.html>


More information about the general mailing list