-----"Gal Pressman" <galpress@xxxxxxxxxx> wrote: ----- >To: "RDMA mailing list" <linux-rdma@xxxxxxxxxxxxxxx> >From: "Gal Pressman" <galpress@xxxxxxxxxx> >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...