[openib-general] APM support in openib stack

Venkatesh Babu venkatesh.babu at 3leafnetworks.com
Wed Oct 25 18:35:17 PDT 2006


The patch for ib_sa_serv_notice_hdlr() handles multiple callers 
registering for the same event by maintaining a linked list of callback 
handlers. So I didn't think that the multiple user count was necessary. 
The actual registration with the MAD layer happens only when the ib_sa 
module is initialized and unregistered when it is unloaded.

In sa_query.c file the multicasting handling code is almost similar to 
ib_sa_serv_notice_hdlr(). I implemented this interface by just following 
the same model for the rest of the calls in the same file. But this 
interface is bit different in other aspects like registering for the 
event notification (InformInfo) and processing when the event actually 
happens (Notice). So we need more code to handle it correctly.

 VBabu

Sean Hefty wrote:

>>The problem is for the the remote node where RC QP listen was accepted
>>this connection (Passive side). There is no way for this node to know
>>that port failure has occurred on the Active side. So it requires some
>>interfaces to get this notification. So ib_sa_serv_notice_hdlr()
>>interface as described in the patch attached to bug#159 can be used to
>>register for the remote port events. This interface has to be called
>>separately for for PORT_ERR and PORT_ACTIVE events. When the handler for
>>remote PORT_ERR occurs, then RC QP's path_mig_state can be changed to
>>IB_MIG_MIGRATED to cause the failover.
>>    
>>
>
>Hal pointed me to your patches for this, since I'm working on adding InformInfo
>/ Notice support.  I believe that a good portion of the code there is usable.
>What I didn't see in the patch was reference counting to handle multiple users
>registering for the same event, but I'm planning on leveraging the multicast
>handling code for that.
>
>- Sean
>  
>




More information about the general mailing list