Lines Matching full:rdma
53 #include <rdma/ib_verbs.h>
54 #include <rdma/rdma_cm.h>
63 /* RPC/RDMA parameters and stats */
77 struct rdma_cm_id *sc_cm_id; /* RDMA connection id */
79 int sc_ord; /* RDMA read limit */
140 * @rdma: controlling transport
143 static inline void svc_rdma_recv_cid_init(struct svcxprt_rdma *rdma, in svc_rdma_recv_cid_init() argument
146 cid->ci_queue_id = rdma->sc_rq_cq->res.id; in svc_rdma_recv_cid_init()
147 cid->ci_completion_id = atomic_inc_return(&rdma->sc_completion_ids); in svc_rdma_recv_cid_init()
152 * @rdma: controlling transport
155 static inline void svc_rdma_send_cid_init(struct svcxprt_rdma *rdma, in svc_rdma_send_cid_init() argument
158 cid->ci_queue_id = rdma->sc_sq_cq->res.id; in svc_rdma_send_cid_init()
159 cid->ci_completion_id = atomic_inc_return(&rdma->sc_completion_ids); in svc_rdma_send_cid_init()
228 extern void svc_rdma_recv_ctxts_destroy(struct svcxprt_rdma *rdma);
229 extern bool svc_rdma_post_recvs(struct svcxprt_rdma *rdma);
231 svc_rdma_recv_ctxt_get(struct svcxprt_rdma *rdma);
232 extern void svc_rdma_recv_ctxt_put(struct svcxprt_rdma *rdma,
234 extern void svc_rdma_flush_recv_queues(struct svcxprt_rdma *rdma);
239 extern void svc_rdma_destroy_rw_ctxts(struct svcxprt_rdma *rdma);
240 extern void svc_rdma_cc_init(struct svcxprt_rdma *rdma,
242 extern void svc_rdma_cc_release(struct svcxprt_rdma *rdma,
245 extern int svc_rdma_send_write_chunk(struct svcxprt_rdma *rdma,
248 extern int svc_rdma_send_reply_chunk(struct svcxprt_rdma *rdma,
251 extern int svc_rdma_process_read_list(struct svcxprt_rdma *rdma,
256 extern void svc_rdma_send_ctxts_destroy(struct svcxprt_rdma *rdma);
258 svc_rdma_send_ctxt_get(struct svcxprt_rdma *rdma);
259 extern void svc_rdma_send_ctxt_put(struct svcxprt_rdma *rdma,
261 extern int svc_rdma_send(struct svcxprt_rdma *rdma,
263 extern int svc_rdma_map_reply_msg(struct svcxprt_rdma *rdma,
268 extern void svc_rdma_send_error_msg(struct svcxprt_rdma *rdma,
272 extern void svc_rdma_wake_send_waiters(struct svcxprt_rdma *rdma, int avail);