Thread (27 messages) 27 messages, 5 authors, 2021-02-23

Re: ibv_req_notify_cq clarification

From: Bernard Metzler <hidden>
Date: 2021-02-18 16:17:12

-----"Gal Pressman" [off-list ref] wrote: -----
To: "RDMA mailing list" <redacted>
From: "Gal Pressman" <redacted>
Date: 02/18/2021 11:26AM
Subject: [EXTERNAL] ibv_req_notify_cq clarification

I'm a bit confused about the meaning of the ibv_req_notify_cq() verb:
"Upon the addition of a new CQ entry (CQE) to cq, a completion event
will be
added to the completion channel associated with the CQ."

What is considered a new CQE in this case?
The next CQE from the user's perspective, i.e. any new CQE that
wasn't consumed
by the user's poll cq?
Or any new CQE from the device's perspective?

For example, if at the time of ibv_req_notify_cq() call the CQ has
received 100
completions, but the user hasn't polled his CQ yet, when should he be
notified?
On the 101 completion or immediately (since there are completions
waiting on the
CQ)?
It is from drivers perspective. So notification when 101
became available and CQ is marked for notification.
Applications tend to poll the CQ after requesting
notification, since there might be a race
from appl perspective...


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help