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 <[EMAIL PROTECTED]>:
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.


_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to