Request completion notification on a completion queue (cq)
#include <infiniband/verbs.h> int ibv_req_notify_cq(struct ibv_cq *cq, int solicited_only);
ibv_req_notify_cq() requests a completion notification on the completion queue (CQ) cq.
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. If the argument solicited_only is zero, a completion event is generated for any new CQE. If solicited_only is non-zero, an event is only generated for a new CQE with that is considered "solicited." A CQE is solicited if it is a receive completion for a message with the Solicited Event header bit set, or if the status is not successful. All other successful receive completions, or any successful send completion is unsolicited.
ibv_req_notify_cq() returns 0 on success, or the value of errno on failure (which indicates the failure reason).
The request for notification is "one shot." Only one completion event will be generated for each call to ibv_req_notify_cq().
Dotan Barak <[email protected]>