GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       ibv_poll_cq - poll a completion queue (CQ)

SYNOPSIS

       #include <infiniband/verbs.h>

       int ibv_poll_cq(struct ibv_cq *cq, int num_entries,
                       struct ibv_wc *wc);

DESCRIPTION

       ibv_poll_cq()  polls  the  CQ  cq  for work completions and returns the
       first num_entries (or all available  completions  if  the  CQ  contains
       fewer  than this number) in the array wc.  The argument wc is a pointer
       to an array of ibv_wc structs, as defined in <infiniband/verbs.h>.

       struct ibv_wc {
               uint64_t                wr_id;          /* ID of the completed Work Request (WR) */
               enum ibv_wc_status      status;         /* Status of the operation */
               enum ibv_wc_opcode      opcode;         /* Operation type specified in the completed WR */
               uint32_t                vendor_err;     /* Vendor error syndrome */
               uint32_t                byte_len;       /* Number of bytes transferred */
               uint32_t                imm_data;       /* Immediate data (in network byte order) */
               uint32_t                qp_num;         /* Local QP number of completed WR */
               uint32_t                src_qp;         /* Source QP number (remote QP number) of completed WR (valid only for UD QPs) */
               int                     wc_flags;       /* Flags of the completed WR */
               uint16_t                pkey_index;     /* P_Key index (valid only for GSI QPs) */
               uint16_t                slid;           /* Source LID */
               uint8_t                 sl;             /* Service Level */
               uint8_t                 dlid_path_bits; /* DLID path bits (not applicable for multicast messages) */
       };

       The attribute wc_flags describes the properties of the work completion.
       It is either 0 or the bitwise OR of one or more of the following flags:

       IBV_WC_GRH  GRH is present (valid only for UD QPs)

       IBV_WC_WITH_IMM  Immediate data value is valid

       Not  all  wc  attributes  are always valid. If the completion status is
       other than IBV_WC_SUCCESS, only the  following  attributes  are  valid:
       wr_id, status, qp_num, and vendor_err.

RETURN VALUE

       On  success,  ibv_poll_cq()  returns  a non-negative value equal to the
       number of completions found.  On failure, a negative value is returned.

NOTES

       Each polled completion is removed from the CQ and cannot be returned to
       it.

       The  user  should  consume  work completions at a rate that prevents CQ
       overrun from occurrence.  In case of a  CQ  overrun,  the  async  event
       IBV_EVENT_CQ_ERR will be triggered, and the CQ cannot be used.

SEE ALSO

       ibv_post_send(3), ibv_post_recv(3)

AUTHORS

       Dotan Barak <dotanba@gmail.com>



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.138 seconds. Last modified: November 04 2018 12:49:43.