Skip to content

Posts Tagged ‘SRQ ’

Let's start with the bottom line: the verbs API is fully thread safe and verbs can be called from every thread in the process. Part of the thread safe is implemented at the libibverbs level and part of it is...

When one wishes to stop the outstanding Work Requests from being processed, flushing the Work Queues may be useful. The most common reason for doing this is to reclaim the memory buffers that the Work Requests refer to. Another reason...

int ibv_post_srq_recv(struct ibv_srq *srq, struct ibv_recv_wr *recv_wr, struct ibv_recv_wr **bad_recv_wr);int ibv_post_srq_recv(struct ibv_srq *srq, struct ibv_recv_wr *recv_wr, struct ibv_recv_wr **bad_recv_wr); Description ibv_post_srq_recv() posts a linked list of Work Requests (WRs) to a Shared Receive Queue (SRQ). ibv_post_srq_recv() go over all of...

int ibv_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr);int ibv_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr); Description ibv_query_srq() returns the attributes of a Shared Receive Queue. struct ibv_srq_attr describes the attributes of the Shared Receive Queue. struct ibv_srq_attr { uint32_t max_wr; uint32_t max_sge;...

int ibv_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, enum ibv_srq_attr_mask srq_attr_mask);int ibv_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, enum ibv_srq_attr_mask srq_attr_mask); Description ibv_modify_srq() modifies the attributes of a Shared Receive Queue. struct ibv_srq_attr describes the attributes of the Shared Receive Queue. struct...

int ibv_destroy_srq(struct ibv_srq *srq);int ibv_destroy_srq(struct ibv_srq *srq); Description ibv_destroy_srq() destroys a Shared Receive Queue. The destruction of a Shared Receive Queue will fail if any QP is still associated with it. If there is any affiliated asynchronous event on that...

struct ibv_srq *ibv_create_srq(struct ibv_pd *pd, struct ibv_srq_init_attr *srq_init_attr);struct ibv_srq *ibv_create_srq(struct ibv_pd *pd, struct ibv_srq_init_attr *srq_init_attr); Description ibv_create_srq() creates a Shared Receive Queue (SRQ) associated with a Protection Domain. This SRQ will later be used when calling ibv_create_qp() to indicate that...