Linux Kernel
3.7.1
|
#include <linux/wait.h>
#include <linux/spinlock.h>
#include <linux/atomic.h>
#include <rdma/rdma_cm.h>
#include <rdma/ib_verbs.h>
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/rpc_rdma.h>
#include <linux/sunrpc/xprtrdma.h>
Go to the source code of this file.
Data Structures | |
struct | rpcrdma_ia |
struct | rpcrdma_ep |
struct | rpcrdma_rep |
struct | rpcrdma_mr_seg |
struct | rpcrdma_req |
struct | rpcrdma_buffer |
struct | rpcrdma_create_data_internal |
struct | rpcrdma_stats |
struct | rpcrdma_xprt |
Macros | |
#define | RDMA_RESOLVE_TIMEOUT (5000) /* 5 seconds */ |
#define | RDMA_CONNECT_RETRY_MAX (2) /* retries if no listener backlog */ |
#define | INIT_CQCOUNT(ep) atomic_set(&(ep)->rep_cqcount, (ep)->rep_cqinit) |
#define | DECR_CQCOUNT(ep) atomic_sub_return(1, &(ep)->rep_cqcount) |
#define | RPCRDMA_MAX_DATA_SEGS (64) /* max scatter/gather */ |
#define | RPCRDMA_MAX_SEGS (RPCRDMA_MAX_DATA_SEGS + 2) /* head+tail = 2 */ |
#define | MAX_RPCRDMAHDR |
#define | rpcr_to_rdmar(r) container_of((r)->rq_buffer, struct rpcrdma_req, rl_xdr_buf[0]) |
#define | rdmab_to_ia(b) (&container_of((b), struct rpcrdma_xprt, rx_buf)->rx_ia) |
#define | RPCRDMA_INLINE_READ_THRESHOLD(rq) (rpcx_to_rdmad(rq->rq_task->tk_xprt).inline_rsize) |
#define | RPCRDMA_INLINE_WRITE_THRESHOLD(rq) (rpcx_to_rdmad(rq->rq_task->tk_xprt).inline_wsize) |
#define | RPCRDMA_INLINE_PAD_VALUE(rq) rpcx_to_rdmad(rq->rq_task->tk_xprt).padding |
#define | rpcx_to_rdmax(x) container_of(x, struct rpcrdma_xprt, xprt) |
#define | rpcx_to_rdmad(x) (rpcx_to_rdmax(x)->rx_data) |
Variables | |
int | xprt_rdma_pad_optimize |
struct kmem_cache * | svc_rdma_map_cachep |
struct kmem_cache * | svc_rdma_ctxt_cachep |
struct workqueue_struct * | svc_rdma_wq |
#define DECR_CQCOUNT | ( | ep | ) | atomic_sub_return(1, &(ep)->rep_cqcount) |
Definition at line 92 of file xprt_rdma.h.
#define INIT_CQCOUNT | ( | ep | ) | atomic_set(&(ep)->rep_cqcount, (ep)->rep_cqinit) |
Definition at line 91 of file xprt_rdma.h.
#define MAX_RPCRDMAHDR |
Definition at line 114 of file xprt_rdma.h.
Definition at line 55 of file xprt_rdma.h.
#define RDMA_RESOLVE_TIMEOUT (5000) /* 5 seconds */ |
Definition at line 54 of file xprt_rdma.h.
#define rdmab_to_ia | ( | b | ) | (&container_of((b), struct rpcrdma_xprt, rx_buf)->rx_ia) |
Definition at line 219 of file xprt_rdma.h.
#define rpcr_to_rdmar | ( | r | ) | container_of((r)->rq_buffer, struct rpcrdma_req, rl_xdr_buf[0]) |
Definition at line 198 of file xprt_rdma.h.
#define RPCRDMA_INLINE_PAD_VALUE | ( | rq | ) | rpcx_to_rdmad(rq->rq_task->tk_xprt).padding |
Definition at line 243 of file xprt_rdma.h.
#define RPCRDMA_INLINE_READ_THRESHOLD | ( | rq | ) | (rpcx_to_rdmad(rq->rq_task->tk_xprt).inline_rsize) |
Definition at line 237 of file xprt_rdma.h.
#define RPCRDMA_INLINE_WRITE_THRESHOLD | ( | rq | ) | (rpcx_to_rdmad(rq->rq_task->tk_xprt).inline_wsize) |
Definition at line 240 of file xprt_rdma.h.
Definition at line 112 of file xprt_rdma.h.
#define RPCRDMA_MAX_SEGS (RPCRDMA_MAX_DATA_SEGS + 2) /* head+tail = 2 */ |
Definition at line 113 of file xprt_rdma.h.
#define rpcx_to_rdmad | ( | x | ) | (rpcx_to_rdmax(x)->rx_data) |
Definition at line 285 of file xprt_rdma.h.
#define rpcx_to_rdmax | ( | x | ) | container_of(x, struct rpcrdma_xprt, xprt) |
Definition at line 284 of file xprt_rdma.h.
int rpcrdma_buffer_create | ( | struct rpcrdma_buffer * | , |
struct rpcrdma_ep * | , | ||
struct rpcrdma_ia * | , | ||
struct rpcrdma_create_data_internal * | |||
) |
void rpcrdma_buffer_destroy | ( | struct rpcrdma_buffer * | ) |
|
read |
void rpcrdma_buffer_put | ( | struct rpcrdma_req * | ) |
void rpcrdma_conn_func | ( | struct rpcrdma_ep * | ) |
Definition at line 692 of file rpc_rdma.c.
int rpcrdma_deregister_external | ( | struct rpcrdma_mr_seg * | , |
struct rpcrdma_xprt * | , | ||
void * | |||
) |
int rpcrdma_ep_connect | ( | struct rpcrdma_ep * | , |
struct rpcrdma_ia * | |||
) |
int rpcrdma_ep_create | ( | struct rpcrdma_ep * | , |
struct rpcrdma_ia * | , | ||
struct rpcrdma_create_data_internal * | |||
) |
int rpcrdma_ep_destroy | ( | struct rpcrdma_ep * | , |
struct rpcrdma_ia * | |||
) |
int rpcrdma_ep_disconnect | ( | struct rpcrdma_ep * | , |
struct rpcrdma_ia * | |||
) |
int rpcrdma_ep_post | ( | struct rpcrdma_ia * | , |
struct rpcrdma_ep * | , | ||
struct rpcrdma_req * | |||
) |
int rpcrdma_ep_post_recv | ( | struct rpcrdma_ia * | , |
struct rpcrdma_ep * | , | ||
struct rpcrdma_rep * | |||
) |
void rpcrdma_ia_close | ( | struct rpcrdma_ia * | ) |
Definition at line 367 of file rpc_rdma.c.
void rpcrdma_recv_buffer_get | ( | struct rpcrdma_req * | ) |
void rpcrdma_recv_buffer_put | ( | struct rpcrdma_rep * | ) |
int rpcrdma_register_external | ( | struct rpcrdma_mr_seg * | , |
int | , | ||
int | , | ||
struct rpcrdma_xprt * | |||
) |
void rpcrdma_reply_handler | ( | struct rpcrdma_rep * | ) |
Definition at line 725 of file rpc_rdma.c.
struct kmem_cache* svc_rdma_ctxt_cachep |
Definition at line 77 of file svc_rdma.c.
struct kmem_cache* svc_rdma_map_cachep |
Definition at line 76 of file svc_rdma.c.
struct workqueue_struct* svc_rdma_wq |
Definition at line 79 of file svc_rdma.c.
int xprt_rdma_pad_optimize |
Definition at line 75 of file transport.c.