Skip to content

Commit

Permalink
Merge pull request ofiwg#2061 from evgeny-leksikov/comp_flags
Browse files Browse the repository at this point in the history
prov/verbs: add completion flags support for ep_rdm
  • Loading branch information
shefty committed May 25, 2016
2 parents e5bd873 + 772dd6d commit 450af81
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 2 deletions.
4 changes: 2 additions & 2 deletions prov/verbs/src/ep_rdm/verbs_cq_ep_rdm.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ static ssize_t fi_ibv_rdm_tagged_cq_readfrom(struct fid_cq *cq, void *buf,

src_addr[ret] = (fi_addr_t) (uintptr_t) cq_entry->minfo.conn;
entry[ret].op_context = cq_entry->context;
entry[ret].flags = fi_ibv_rdm_comp_queue.flags;
entry[ret].flags = cq_entry->comp_flags;
entry[ret].len = cq_entry->len;
entry[ret].data = cq_entry->imm;
entry[ret].tag = cq_entry->minfo.tag;
Expand Down Expand Up @@ -186,7 +186,7 @@ fi_ibv_rdm_cq_readerr(struct fid_cq *cq, struct fi_cq_err_entry *entry,

if (err_request) {
entry->op_context = err_request->context;
entry->flags = 0; /* TODO: */
entry->flags = err_request->comp_flags;
entry->len = err_request->len;
entry->buf = err_request->unexp_rbuf;
entry->data = err_request->imm;
Expand Down
1 change: 1 addition & 0 deletions prov/verbs/src/ep_rdm/verbs_rdm.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ struct fi_ibv_rdm_tagged_request {
*/
size_t iov_count;
size_t len;
uint64_t comp_flags;
struct fi_context *context;
uint32_t imm;

Expand Down
8 changes: 8 additions & 0 deletions prov/verbs/src/ep_rdm/verbs_tagged_ep_rdm_states.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ fi_ibv_rdm_tagged_init_send_request(struct fi_ibv_rdm_tagged_request *request,
}

request->len = p->data_len;
request->comp_flags = FI_TAGGED | FI_SEND;
request->imm = p->imm;
request->context = p->context;
request->state.eager = FI_IBV_STATE_EAGER_BEGIN;
Expand Down Expand Up @@ -417,6 +418,7 @@ fi_ibv_rdm_copy_unexp_request(struct fi_ibv_rdm_tagged_request *request,
request->minfo.conn = unexp->minfo.conn;
request->minfo.tag = unexp->minfo.tag;
request->len = unexp->len;
request->comp_flags = unexp->comp_flags;
request->unexp_rbuf = unexp->unexp_rbuf;
request->state = unexp->state;

Expand Down Expand Up @@ -453,6 +455,7 @@ fi_ibv_rdm_tagged_init_recv_request(struct fi_ibv_rdm_tagged_request *request,
request->context->internal[0] = (void *)request;
request->dest_buf = p->dest_addr;
request->len = p->data_len;
request->comp_flags = FI_TAGGED | FI_RECV;
request->state.eager = FI_IBV_STATE_EAGER_RECV_WAIT4PKT;
request->state.rndv = FI_IBV_STATE_RNDV_NOT_USED;
request->state.err = FI_SUCCESS;
Expand Down Expand Up @@ -611,6 +614,7 @@ fi_ibv_rdm_tagged_init_unexp_recv_request(
request->minfo.conn = p->conn;
request->len =
p->arrived_len - sizeof(struct fi_ibv_rdm_header);
request->comp_flags = FI_TAGGED | FI_RECV;

assert(request->len <= p->ep->rndv_threshold);

Expand All @@ -637,6 +641,7 @@ fi_ibv_rdm_tagged_init_unexp_recv_request(
request->rndv.remote_addr = (void *)h->src_addr;
request->rndv.rkey = h->mem_key;
request->len = h->len;
request->comp_flags = FI_TAGGED | FI_RECV;
request->imm = p->imm_data;
request->state.eager = FI_IBV_STATE_EAGER_RECV_WAIT4RECV;
request->state.rndv = FI_IBV_STATE_RNDV_RECV_WAIT4RES;
Expand Down Expand Up @@ -984,9 +989,11 @@ fi_ibv_rdm_rma_init_request(struct fi_ibv_rdm_tagged_request *request,

if (p->op_code == IBV_WR_RDMA_READ) {
request->dest_buf = (void*)p->lbuf;
request->comp_flags = FI_RMA | FI_READ;
} else {
assert(p->op_code == IBV_WR_RDMA_WRITE);
request->src_addr = (void*)p->lbuf;
request->comp_flags = FI_RMA | FI_WRITE;
}

request->len = p->data_len;
Expand Down Expand Up @@ -1019,6 +1026,7 @@ fi_ibv_rdm_rma_inject_request(struct fi_ibv_rdm_tagged_request *request,

request->minfo.conn = p->conn;
request->len = p->data_len;
request->comp_flags = 0; /* inject does not generate completion */
request->sbuf = NULL;

wr.sg_list = &sge;
Expand Down

0 comments on commit 450af81

Please sign in to comment.