[ofw] WinVerbs CQ events
Leonid Keller
leonid at mellanox.co.il
Thu Mar 25 04:18:02 PDT 2010
Hi Prasanna,
Have you tried to call ibv_poll_cq(..) one more time (better - several times) ?
Maybe at the moment of your poll the second CQE has not yet arrived ?
> -----Original Message-----
> From: ofw-bounces at lists.openfabrics.org
> [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Tzachi Dar
> Sent: Wednesday, March 24, 2010 2:20 PM
> To: prasanna; ofw at openfabrics.org
> Subject: Re: [ofw] WinVerbs CQ events
>
> If I understand correctly, you do receive both packets but
> only one CQ event.
>
> This is by design.
> In order for a CQ to create an event it should be both armed
> and also have a CQE that one has not polled.
> In other words, once you ask for an event, you will only get
> one event until you ask for a new event again.
> Once you receive an event their can be many CQE on the CQ.
>
> In your test, both packets probably arrive "at the same time"
> on the receiver so you don't have the time to arm again. If
> you will change your sender to send 2 packets and wait for a
> second between them you will have a chance in the receiver to
> get one packet, ask_for_notification and get the second notification.
>
> Thanks
> Tzachi
>
> > -----Original Message-----
> > From: ofw-bounces at lists.openfabrics.org
> > [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of prasanna
> > Sent: Wednesday, March 24, 2010 1:36 PM
> > To: ofw at openfabrics.org
> > Subject: [ofw] WinVerbs CQ events
> >
> > Hi All,
> >
> > I observe a problem getting CQ events in WinVerbs 2.2 for the
> > following
> > sequence:
> >
> > 1. Client does a ibv_post_send() operation with a list of 2
> WRs (The
> > 'next' field of first struct ibv_send_wr points to the second WR)
> >
> > 2. Receive program calls ibv_post_recv() twice each with a
> single WR.
> >
> > In the above sequence, I see data from both WRs is transferred
> > correctly from the client to the receiver.
> > But the issue is, CQ event in the receiver is generated only once.
> > Also, in the receiver CQ event handler, ibv_poll_cq(cq, 2, &wc[0])
> > returns 1.
> >
> > I expect either 2 CQ events in the receive side or
> > ibv_poll_cq(..) should return 2 WCs.
> > I tried both solicited & non-solicited CQ notification in
> the recevier
> > side. Also, the CQE is sufficiently large.
> >
> > Please let me know if you have clue to generate CQ event in the
> > receiver in this sequence.
> >
> > Thanks,
> > Prasanna
> > _______________________________________________
> > ofw mailing list
> > ofw at lists.openfabrics.org
> > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
> >
> _______________________________________________
> ofw mailing list
> ofw at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
>
More information about the ofw
mailing list