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

Shirley Ma xma at us.ibm.com
Wed Oct 5 09:52:53 PDT 2005


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051005/be0f367a/attachment.html>


More information about the general mailing list