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

Leonid Arsh leonida at voltaire.com
Sun Apr 2 05:14:35 PDT 2006


Michael,
the event is quite rare, so I see no risk for the event queue.
I also think that using the HW event is a bit more elegant, so I 
implemented it like in the VAPI based driver.
The new FW generates the event in any case, and we just add a compact 
event handler.
Only smp_snoop() on the older FW will not help, since the older FW 
doesn't set the ClientReregistration port capability bit automatically, 
so the SM will not generate ClientReregistrer requests. There is a way 
to set the bit by the SW, but it would add some redundant complexity.

Thanks,
Leonid

Michael S. Tsirkin wrote:
> Quoting r. Leonid Arsh <leonida at voltaire.com>:
>   
>> Subject: [openib-general][PATCH] mthca & ib_verbs.h client reregister event support
>>
>> Hello,
>>   this is a patch implementing the kernel mode client reregister event support on MTHCA
>>   (see the InfiniBand SPEC 1.2   14.4.11 Client Reregistration.)
>>
>>   The patch handles the MTHCA event by scheduling an IB_EVENT_CLIENT_REREGISTER event.
>>   We checked it on Mellanox PCI-Express HCAs with FW 4.7.0
>>   on the kernel 2.6.15, on fabric with Voltaire SM and it worked fine.
>>
>>   Note, some older FW didn't set ClientReregistration capability bit in the port info,
>>   and the event wasn't generated.
>>
>> Regards,
>>    Leonid
>>     
>
> Adding hardware-generated events has drawbacks as it increases the risk of the
> even queue overrun.
>
> Wouldn't pushing this event from mthca_mad.c be a better way to do this?  We
> already do this from smp_snoop for LID and pkey change events. This way it will
> work on any firmware.
>
>   




More information about the general mailing list