Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
svc_rdma.h File Reference
#include <linux/sunrpc/xdr.h>
#include <linux/sunrpc/svcsock.h>
#include <linux/sunrpc/rpc_rdma.h>
#include <rdma/ib_verbs.h>
#include <rdma/rdma_cm.h>

Go to the source code of this file.

Data Structures

struct  svc_rdma_op_ctxt
 
struct  svc_rdma_chunk_sge
 
struct  svc_rdma_fastreg_mr
 
struct  svc_rdma_req_map
 
struct  svcxprt_rdma
 

Macros

#define SVCRDMA_DEBUG
 
#define RPCRDMA_VERSION   1
 
#define RDMACTXT_F_FAST_UNREG   1
 
#define RDMACTXT_F_LAST_CTXT   2
 
#define SVCRDMA_DEVCAP_FAST_REG   1 /* fast mr registration */
 
#define SVCRDMA_DEVCAP_READ_W_INV   2 /* read w/ invalidate */
 
#define RDMAXPRT_RQ_PENDING   1
 
#define RDMAXPRT_SQ_PENDING   2
 
#define RDMAXPRT_CONN_PENDING   3
 
#define RPCRDMA_LISTEN_BACKLOG   10
 
#define RPCRDMA_ORD   (64/4)
 
#define RPCRDMA_SQ_DEPTH_MULT   8
 
#define RPCRDMA_MAX_THREADS   16
 
#define RPCRDMA_MAX_REQUESTS   16
 
#define RPCRDMA_MAX_REQ_SIZE   4096
 

Functions

void svc_rdma_rcl_chunk_counts (struct rpcrdma_read_chunk *, int *, int *)
 
int svc_rdma_xdr_decode_req (struct rpcrdma_msg **, struct svc_rqst *)
 
int svc_rdma_xdr_decode_deferred_req (struct svc_rqst *)
 
int svc_rdma_xdr_encode_error (struct svcxprt_rdma *, struct rpcrdma_msg *, enum rpcrdma_errcode, u32 *)
 
void svc_rdma_xdr_encode_write_list (struct rpcrdma_msg *, int)
 
void svc_rdma_xdr_encode_reply_array (struct rpcrdma_write_array *, int)
 
void svc_rdma_xdr_encode_array_chunk (struct rpcrdma_write_array *, int, __be32, __be64, u32)
 
void svc_rdma_xdr_encode_reply_header (struct svcxprt_rdma *, struct rpcrdma_msg *, struct rpcrdma_msg *, enum rpcrdma_proc)
 
int svc_rdma_xdr_get_reply_hdr_len (struct rpcrdma_msg *)
 
int svc_rdma_recvfrom (struct svc_rqst *)
 
int svc_rdma_sendto (struct svc_rqst *)
 
int svc_rdma_send (struct svcxprt_rdma *, struct ib_send_wr *)
 
void svc_rdma_send_error (struct svcxprt_rdma *, struct rpcrdma_msg *, enum rpcrdma_errcode)
 
struct pagesvc_rdma_get_page (void)
 
int svc_rdma_post_recv (struct svcxprt_rdma *)
 
int svc_rdma_create_listen (struct svc_serv *, int, struct sockaddr *)
 
struct svc_rdma_op_ctxtsvc_rdma_get_context (struct svcxprt_rdma *)
 
void svc_rdma_put_context (struct svc_rdma_op_ctxt *, int)
 
void svc_rdma_unmap_dma (struct svc_rdma_op_ctxt *ctxt)
 
struct svc_rdma_req_mapsvc_rdma_get_req_map (void)
 
void svc_rdma_put_req_map (struct svc_rdma_req_map *)
 
int svc_rdma_fastreg (struct svcxprt_rdma *, struct svc_rdma_fastreg_mr *)
 
struct svc_rdma_fastreg_mrsvc_rdma_get_frmr (struct svcxprt_rdma *)
 
void svc_rdma_put_frmr (struct svcxprt_rdma *, struct svc_rdma_fastreg_mr *)
 
void svc_sq_reap (struct svcxprt_rdma *)
 
void svc_rq_reap (struct svcxprt_rdma *)
 
void svc_rdma_prep_reply_hdr (struct svc_rqst *)
 
int svc_rdma_init (void)
 
void svc_rdma_cleanup (void)
 

Variables

unsigned int svcrdma_ord
 
unsigned int svcrdma_max_requests
 
unsigned int svcrdma_max_req_size
 
atomic_t rdma_stat_recv
 
atomic_t rdma_stat_read
 
atomic_t rdma_stat_write
 
atomic_t rdma_stat_sq_starve
 
atomic_t rdma_stat_rq_starve
 
atomic_t rdma_stat_rq_poll
 
atomic_t rdma_stat_rq_prod
 
atomic_t rdma_stat_sq_poll
 
atomic_t rdma_stat_sq_prod
 
struct svc_xprt_class svc_rdma_class
 

Macro Definition Documentation

#define RDMACTXT_F_FAST_UNREG   1

Definition at line 125 of file svc_rdma.h.

#define RDMACTXT_F_LAST_CTXT   2

Definition at line 126 of file svc_rdma.h.

#define RDMAXPRT_CONN_PENDING   3

Definition at line 171 of file svc_rdma.h.

#define RDMAXPRT_RQ_PENDING   1

Definition at line 169 of file svc_rdma.h.

#define RDMAXPRT_SQ_PENDING   2

Definition at line 170 of file svc_rdma.h.

#define RPCRDMA_LISTEN_BACKLOG   10

Definition at line 173 of file svc_rdma.h.

#define RPCRDMA_MAX_REQ_SIZE   4096

Definition at line 180 of file svc_rdma.h.

#define RPCRDMA_MAX_REQUESTS   16

Definition at line 179 of file svc_rdma.h.

#define RPCRDMA_MAX_THREADS   16

Definition at line 178 of file svc_rdma.h.

#define RPCRDMA_ORD   (64/4)

Definition at line 176 of file svc_rdma.h.

#define RPCRDMA_SQ_DEPTH_MULT   8

Definition at line 177 of file svc_rdma.h.

#define RPCRDMA_VERSION   1

Definition at line 66 of file svc_rdma.h.

#define SVCRDMA_DEBUG

Definition at line 49 of file svc_rdma.h.

#define SVCRDMA_DEVCAP_FAST_REG   1 /* fast mr registration */

Definition at line 128 of file svc_rdma.h.

#define SVCRDMA_DEVCAP_READ_W_INV   2 /* read w/ invalidate */

Definition at line 129 of file svc_rdma.h.

Function Documentation

void svc_rdma_cleanup ( void  )

Definition at line 235 of file svc_rdma.c.

int svc_rdma_create_listen ( struct svc_serv ,
int  ,
struct sockaddr  
)
int svc_rdma_fastreg ( struct svcxprt_rdma ,
struct svc_rdma_fastreg_mr  
)

Definition at line 1221 of file svc_rdma_transport.c.

struct svc_rdma_op_ctxt* svc_rdma_get_context ( struct svcxprt_rdma )
read

Definition at line 94 of file svc_rdma_transport.c.

struct svc_rdma_fastreg_mr* svc_rdma_get_frmr ( struct svcxprt_rdma )
read

Definition at line 771 of file svc_rdma_transport.c.

struct page* svc_rdma_get_page ( void  )
read

Definition at line 474 of file svc_rdma_transport.c.

struct svc_rdma_req_map* svc_rdma_get_req_map ( void  )
read

Definition at line 153 of file svc_rdma_transport.c.

int svc_rdma_init ( void  )

Definition at line 248 of file svc_rdma.c.

int svc_rdma_post_recv ( struct svcxprt_rdma )

Definition at line 487 of file svc_rdma_transport.c.

void svc_rdma_prep_reply_hdr ( struct svc_rqst )

Definition at line 657 of file svc_rdma_sendto.c.

void svc_rdma_put_context ( struct svc_rdma_op_ctxt ,
int   
)

Definition at line 133 of file svc_rdma_transport.c.

void svc_rdma_put_frmr ( struct svcxprt_rdma ,
struct svc_rdma_fastreg_mr  
)

Definition at line 804 of file svc_rdma_transport.c.

void svc_rdma_put_req_map ( struct svc_rdma_req_map )

Definition at line 167 of file svc_rdma_transport.c.

void svc_rdma_rcl_chunk_counts ( struct rpcrdma_read_chunk ,
int ,
int  
)

Definition at line 77 of file svc_rdma_marshal.c.

int svc_rdma_recvfrom ( struct svc_rqst )

Definition at line 584 of file svc_rdma_recvfrom.c.

int svc_rdma_send ( struct svcxprt_rdma ,
struct ib_send_wr  
)

Definition at line 1245 of file svc_rdma_transport.c.

void svc_rdma_send_error ( struct svcxprt_rdma ,
struct rpcrdma_msg ,
enum  rpcrdma_errcode 
)

Definition at line 1303 of file svc_rdma_transport.c.

int svc_rdma_sendto ( struct svc_rqst )

Definition at line 673 of file svc_rdma_sendto.c.

void svc_rdma_unmap_dma ( struct svc_rdma_op_ctxt ctxt)

Definition at line 112 of file svc_rdma_transport.c.

int svc_rdma_xdr_decode_deferred_req ( struct svc_rqst )

Definition at line 222 of file svc_rdma_marshal.c.

int svc_rdma_xdr_decode_req ( struct rpcrdma_msg **  ,
struct svc_rqst  
)

Definition at line 156 of file svc_rdma_marshal.c.

void svc_rdma_xdr_encode_array_chunk ( struct rpcrdma_write_array ,
int  ,
__be32  ,
__be64  ,
u32   
)

Definition at line 352 of file svc_rdma_marshal.c.

int svc_rdma_xdr_encode_error ( struct svcxprt_rdma ,
struct rpcrdma_msg ,
enum  rpcrdma_errcode,
u32  
)

Definition at line 278 of file svc_rdma_marshal.c.

void svc_rdma_xdr_encode_reply_array ( struct rpcrdma_write_array ,
int   
)

Definition at line 345 of file svc_rdma_marshal.c.

void svc_rdma_xdr_encode_reply_header ( struct svcxprt_rdma ,
struct rpcrdma_msg ,
struct rpcrdma_msg ,
enum  rpcrdma_proc 
)

Definition at line 364 of file svc_rdma_marshal.c.

void svc_rdma_xdr_encode_write_list ( struct rpcrdma_msg ,
int   
)

Definition at line 325 of file svc_rdma_marshal.c.

int svc_rdma_xdr_get_reply_hdr_len ( struct rpcrdma_msg )

Definition at line 297 of file svc_rdma_marshal.c.

void svc_rq_reap ( struct svcxprt_rdma )
void svc_sq_reap ( struct svcxprt_rdma )

Variable Documentation

atomic_t rdma_stat_read

Definition at line 66 of file svc_rdma.c.

atomic_t rdma_stat_recv

Definition at line 65 of file svc_rdma.c.

atomic_t rdma_stat_rq_poll

Definition at line 70 of file svc_rdma.c.

atomic_t rdma_stat_rq_prod

Definition at line 71 of file svc_rdma.c.

atomic_t rdma_stat_rq_starve

Definition at line 69 of file svc_rdma.c.

atomic_t rdma_stat_sq_poll

Definition at line 72 of file svc_rdma.c.

atomic_t rdma_stat_sq_prod

Definition at line 73 of file svc_rdma.c.

atomic_t rdma_stat_sq_starve

Definition at line 68 of file svc_rdma.c.

atomic_t rdma_stat_write

Definition at line 67 of file svc_rdma.c.

struct svc_xprt_class svc_rdma_class

Definition at line 87 of file svc_rdma_transport.c.

unsigned int svcrdma_max_req_size

Definition at line 61 of file svc_rdma.c.

unsigned int svcrdma_max_requests

Definition at line 58 of file svc_rdma.c.

unsigned int svcrdma_ord

Definition at line 55 of file svc_rdma.c.