[openib-general] ib_req_ncomp_notif in core_ layer
Fab Tillier
ftillier at infiniconsys.com
Thu Aug 12 06:53:43 PDT 2004
> From: Michael S. Tsirkin [mailto:mst at mellanox.co.il]
> Sent: Wednesday, August 11, 2004 11:47 PM
>
> Quoting r. Fab Tillier (ftillier at infiniconsys.com) "RE: [openib-general]
> ib_req_ncomp_notif in core_ layer":
> > > From: Sean Hefty [mailto:mshefty at ichips.intel.com]
> > > Sent: Wednesday, August 11, 2004 2:52 PM
> > >
> > > On Thu, 12 Aug 2004 00:23:40 +0300
> > > "Michael S. Tsirkin" <mst at mellanox.co.il> wrote:
> > >
> > > > Currently some things are unclear:
> > > >
> > > > If you get an event and do req_comp_notif
> > > > immediately, without polling - do you expect to get an event
> > > > immediately?
> > >
> > > The call for ib_req_notify_cq() is intended to map to the semantics
> > > mentioned in the spec. For the example mentioned, calling
> > > ib_req_notify_cq() without polling arms the CQ, but will not generate
> > > an
> > > event until a new completion of the specified type is added to the CQ.
> >
> > True, but as has been pointed out before, Tavor by default will generate
> > a new CQ event if any completions are left unreaped in the CQ (or
> > something to that effect). See
> > http://openib.org/pipermail/openib-general/2004-June/003099.html. So
> > rearming without polling *will* generate a CQ event if you're using
> > Mellanox HCAs.
>
> Nope, sorry. Tavor will generate an event if completion are generated
> *after the event was generated*.
>
> So
> arm
> completion
> event
> arm <-- no event
>
> But
>
> arm
> completion
> event
> completion
> arm <-- event
>
> Thus you can do
> poll -> rearm
> and also
> rearm -> poll
>
> and get the same result without races.
>
Great feedback! I think this makes a lot of sense, and I appreciate the
clarification. I had been somewhat confused by the previous explanations.
- Fab
More information about the general
mailing list