[openib-general][PATCH] mthca & ib_verbs.h client reregister event support by the SW

Leonid Arsh leonida at voltaire.com
Mon Apr 10 01:53:09 PDT 2006


Yes, this will work. This will also fix the SM restart problem.
I'm simply not sure that I have time to test it today.
If you want I'll test it later.

Michael S. Tsirkin wrote:
> Quoting r. Leonid Arsh <leonida at voltaire.com>:
>   
>> Subject: Re: [openib-general][PATCH] mthca & ib_verbs.h client reregister event support by the SW
>>
>> You are right.
>> Without adding the event handling to IPoIB, IPoIB will not re-register 
>> with the SM in some cases.
>> We really should add it.
>> I'll add the event handling to IPoIB a bit later.
>>     
>
> How about an (untested) one-liner like
>
> Index: openib/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
> ===================================================================
> --- openib/drivers/infiniband/ulp/ipoib/ipoib_verbs.c	(revision 6343)
> +++ openib/drivers/infiniband/ulp/ipoib/ipoib_verbs.c	(working copy)
> @@ -255,7 +255,9 @@ void ipoib_event(struct ib_event_handler
>  	    record->event == IB_EVENT_PKEY_CHANGE ||
>  	    record->event == IB_EVENT_PORT_ACTIVE ||
>  	    record->event == IB_EVENT_LID_CHANGE  ||
> -	    record->event == IB_EVENT_SM_CHANGE) {
> +	    record->event == IB_EVENT_SM_CHANGE   ||
> +	    record->event == IB_EVENT_CLIENT_REREGISTER
> +	    ) {
>  		ipoib_dbg(priv, "Port state change event\n");
>  		queue_work(ipoib_workqueue, &priv->flush_task);
>  	}
>
>   
>> Anyway, I think we could apply the patch.
>> The CLIENT_REREGISTER request was not supported by older FW, and now we 
>> behave the same way.
>> In most cases, the event comes together with the PORT_ACTIVE event, so 
>> we don't miss much here.
>> That's why I think that the patch doesn't harm IPoIB.
>>     
>
> How about when opensm is re-started? I actually do this all the time.
>
>   




More information about the general mailing list