<html><body>
<p>One thing that strikes me is to have a single "bit map" (or it's equivalent, implemented in say<br>
ib_device). This single "bit map" corresponds to the physical ports. So, each of the higher level modules<br>
only references this "bit map" and one does not have mad client "bit map", sa client "bit map" and so on <br>
-is my understanding of your proposal correct?<br>
<br>
With multiple "bit maps" isn't there a risk of these not being in sync, resulting in hard to detect problems?<br>
<br>
Pradeep<br>
pradeep@us.ibm.com<br>
<br>
<tt>openib-general-bounces@openib.org wrote on 10/05/2005 09:52:53 AM:<br>
<br>
> <br>
> One HCA could support 256 ports. The current implementation doesn't <br>
> support partially successful ports, which would be a waste if any of<br>
> the port failure. And after adding some break points to induce <br>
> errors in each client during registration, some of the potential <br>
> problems will be triggered. Here is my proposal to enable partial <br>
> ports. Basically the upper user's physical ports number is going to <br>
> replaced by the successful ports bitmap of the client it depends on.<br>
> I have done some research on each client for enabling partially <br>
> ports on HCA, and created some patches and tested the idea. Please <br>
> correct if my understanding is wrong. Also if you have other idea, <br>
> please share. <br>
> <br>
> cache_client: This client allows partially ports. But <br>
> ib_cache_update() might fail on a port whose pkey_cache, gid_cache <br>
> fail to be generated, so all the upper level users can be only <br>
> allowed on the successful ports not the HCA's physical ports number.<br>
> There are 9 upper users there, they are: ib_srp,ib_sdp,ib_uverbs,<br>
> ib_umad,ib_cm, ib_ipoib,ib_sa,ib_mad. <br>
> <br>
> mad_client: This client doesn't allow partially ports. I would like <br>
> to suggestion only enable the ports when both QP0&QP1 are <br>
> successful. Don't know where QP0 can be used while QP1 is absent. <br>
> (You can tell me if there is a case.) The upper users are ib_umad, <br>
> ib_cm, ib_sa. <br>
> <br>
> cm_client: This client doesn't allow partial ports. To enable <br>
> partial ports, these upper users ib_ucm, ib_srp, ib_sdp can be only <br>
> allowed on the successful ports. <br>
> <br>
> sa_client: This client doesn't allow partial ports. To enable <br>
> partial ports, these upper users ib_ipoib, ib_srp, ib_sdp, ib_at can<br>
> be only allowed on the successful ports. <br>
> <br>
> ipoib_client: This client does allow partial ports. <br>
> <br>
> The number of physical ports should be replaced by each client's <br>
> successful ports. For example ipoib_client will be allowed on <br>
> sa_client ports bitmap, sa_client will be allowed on mad_client <br>
> ports bitmap, mad_client will be allowed on cache_client ports bitmap. <br>
> <br>
> Adding bitmap field is not necessary, the ib_cache, ib_device, <br>
> ib_sa_device, cm_device stored all the ports info. ib_uat & kdapl & <br>
> ib_ping should be updated too. <br>
> <br>
> Thanks<br>
> Shirley Ma<br>
> IBM Linux Technology Center<br>
> 15300 SW Koll Parkway<br>
> Beaverton, OR 97006-6063<br>
> Phone(Fax): (503) 578-7638_______________________________________________<br>
> openib-general mailing list<br>
> openib-general@openib.org<br>
> <a href="http://openib.org/mailman/listinfo/openib-general">http://openib.org/mailman/listinfo/openib-general</a><br>
> <br>
> To unsubscribe, please visit <a href="http://openib.org/mailman/listinfo/openib-general">http://openib.org/mailman/listinfo/openib-general</a></tt></body></html>