IBV_REQ_NOTIFY_CQ(3)

πŸ’… IBV_REQ_NOTIFY_CQ(3) β€” Libibverbs Programmer’s Manual πŸ’…

okay bestie, welcome to the Libibverbs Programmer’s Manual β€” today’s main character is ibv_req_notify_cq(3), and she is here to handle your CQ notification business. ✨


🌸 NAME 🌸

ibv_req_notify_cq β€” request completion notification on a completion queue (CQ)

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <infiniband/verbs.h>

int ibv_req_notify_cq(struct ibv_cq *cq, int solicited_only);

πŸŽ€ DESCRIPTION πŸŽ€

okay so ibv_req_notify_cq() is literally the function that requests a completion notification on the completion queue (CQ) cq. iconic behavior. πŸ’–

When a new CQ entry (CQE) gets added to cq, a completion event will be added to the completion channel associated with the CQ. That’s the vibe.

Now for the solicited_only tea:

  • If 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 that’s considered β€œsolicited.”

A CQE is solicited if it’s a receive completion for a message with the Solicited Event header bit set, or if the status is not successful. slay that definition. 🌈

All other successful receive completions, or any successful send completion, are unsolicited. no cap. πŸ’…

⭐ RETURN VALUE ⭐

ibv_req_notify_cq() returns 0 on success, or the value of errno on failure (which indicates the failure reason). we love a clear return value. 🫢

πŸ”₯ NOTES πŸ”₯

The request for notification is β€œone shot.” Only one completion event will be generated for each call to ibv_req_notify_cq(). periodt. πŸ’€

🌈 SEE ALSO 🌈

πŸ‘‘ AUTHOR πŸ‘‘

Dotan Barak <dotanba@gmail.com>


xoxo, this little gem is from libibverbs, dated 2006-10-31, and it lives under IBV_REQ_NOTIFY_CQ(3). byeee bestie πŸ«ΆπŸ’–πŸŽ€

πŸ“¦ where this page comes from