[openib-general] [PATCH/RFC 1/2] IB: Return "maybe_missed_event" hint from ib_req_notify_cq()

Michael S. Tsirkin mst at mellanox.co.il
Tue Nov 28 00:35:11 PST 2006


> Quoting r. Roland Dreier <rdreier at cisco.com>:
> Subject: Re: [PATCH/RFC 1/2] IB: Return "maybe_missed_event" hint from ib_req_notify_cq()
> 
> It occurs to me that the behavior of ehca spinning in the IPoIB poll
> routine would be exactly the symptom you would see if
> ib_req_notify_cq() was incorrectly reporting a missed event when the
> CQ is in fact empty.  In that case, the code would jump back to
> repoll, find the CQ empty, call ib_req_notify_cq() again, and probably
> get another missed event indicator (and jump back to repoll again, etc).
> 
> However I looked over the ehca changes in my NAPI branch and they
> _still_ look right to me.  So maybe my idea is just hot air.

I have another idea: what if ehca event handling would
sometimes cause interrupts to be lost?  This could happen for example if
there is bug in ehca, and completion event could bypass a completion somehow:
you get an interrupt and you poll CQ, and you see that it's still empty.

In this case, old IPoIB code and forcing missed event indicator to 1
would appear to work better than new NAPI code simply because old code polls CQ
a bit later, after request for notification, and it just *happens* to sometimes pick up
completions that wouldn't otherwise get reported until the next packet.

-- 
MST




More information about the general mailing list