41 #include <linux/module.h>
43 #include <linux/slab.h>
45 #include <linux/sysctl.h>
52 #define RPCDBG_FACILITY RPCDBG_SVCXPRT
56 static unsigned int min_ord = 1;
57 static unsigned int max_ord = 4096;
59 static unsigned int min_max_requests = 4;
60 static unsigned int max_max_requests = 16384;
62 static unsigned int min_max_inline = 4096;
63 static unsigned int max_max_inline = 65536;
88 void __user *
buffer,
size_t *lenp,
109 data = &str_buf[*ppos];
122 static ctl_table svcrdma_parm_table[] = {
126 .maxlen =
sizeof(
unsigned int),
129 .extra1 = &min_max_requests,
130 .extra2 = &max_max_requests
133 .procname =
"max_req_size",
135 .maxlen =
sizeof(
unsigned int),
138 .extra1 = &min_max_inline,
139 .extra2 = &max_max_inline
142 .procname =
"max_outbound_read_requests",
144 .maxlen =
sizeof(
unsigned int),
152 .procname =
"rdma_stat_read",
159 .procname =
"rdma_stat_recv",
166 .procname =
"rdma_stat_write",
173 .procname =
"rdma_stat_sq_starve",
180 .procname =
"rdma_stat_rq_starve",
187 .procname =
"rdma_stat_rq_poll",
194 .procname =
"rdma_stat_rq_prod",
201 .procname =
"rdma_stat_sq_poll",
208 .procname =
"rdma_stat_sq_prod",
221 .child = svcrdma_parm_table
226 static ctl_table svcrdma_root_table[] = {
230 .child = svcrdma_table
237 dprintk(
"SVCRDMA Module Removed, deregister RPC RDMA transport\n");
239 if (svcrdma_table_header) {
241 svcrdma_table_header =
NULL;
250 dprintk(
"SVCRDMA Module Init, register RPC RDMA transport\n");
261 if (!svcrdma_table_header)
262 svcrdma_table_header =
271 if (!svc_rdma_map_cachep) {
277 svc_rdma_ctxt_cachep =
283 if (!svc_rdma_ctxt_cachep) {