linux-xiaomi-chiron/include/linux/sunrpc
Chuck Lever 8bd5ba86d9 svcrdma: Use new CQ API for RPC-over-RDMA server receive CQs
Calling ib_poll_cq() to sort through WCs during a completion is a
common pattern amongst RDMA consumers. Since commit 14d3a3b249
("IB: add a proper completion queue abstraction"), WC sorting can
be handled by the IB core.

By converting to this new API, svcrdma is made a better neighbor to
other RDMA consumers, as it allows the core to schedule the delivery
of completions more fairly amongst all active consumers.

Because each ib_cqe carries a pointer to a completion method, the
core can now post operations on a consumer's QP, and handle the
completions itself.

svcrdma receive completions no longer use the dto_tasklet. Each
polled Receive WC is now handled individually in soft IRQ context.

The server transport's rdma_stat_rq_poll and rdma_stat_rq_prod
metrics are no longer updated.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2016-03-01 13:06:42 -08:00
..
addr.h SUNRPC: Drop double-underscores from __rpc_cmp_addr6() 2015-08-17 14:47:53 -05:00
auth.h nfsd: Lower NFSv4.1 callback message size limit 2016-03-01 13:06:35 -08:00
auth_gss.h sunrpc: remove __rcu annotation from struct gss_cl_ctx->gc_gss_ctx 2014-08-03 17:05:23 -04:00
bc_xprt.h SUNRPC: Abstract backchannel operations 2015-11-02 13:45:15 -05:00
cache.h sunrpc/cache: make cache flushing more reliable. 2015-10-23 15:57:30 -04:00
clnt.h sunrpc: keep a count of swapfiles associated with the rpc_clnt 2015-06-10 18:26:14 -04:00
debug.h sunrpc: make debugfs file creation failure non-fatal 2015-04-23 14:42:27 -04:00
gss_api.h svcrpc: store gss mech in svc_cred 2013-07-01 17:23:06 -04:00
gss_asn1.h
gss_err.h
gss_krb5.h sunrpc: remove "ec" argument from encrypt_v2 operation 2014-08-03 17:05:24 -04:00
gss_krb5_enctypes.h
metrics.h SUNRPC: Fix a compile error when #undef CONFIG_PROC_FS 2015-02-12 08:31:38 -05:00
msg_prot.h SUNRPC: Introduce missing well-known netids 2015-03-31 09:52:52 -04:00
rpc_pipe_fs.h sunrpc: replace sunrpc_net->gssd_running flag with a more reliable check 2013-12-06 13:06:31 -05:00
rpc_rdma.h rpcrdma: Add RPCRDMA_HDRLEN_ERR 2016-03-01 13:06:38 -08:00
sched.h sunrpc: keep a count of swapfiles associated with the rpc_clnt 2015-06-10 18:26:14 -04:00
stats.h
svc.h nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting 2015-08-10 16:05:44 -04:00
svc_rdma.h svcrdma: Use new CQ API for RPC-over-RDMA server receive CQs 2016-03-01 13:06:42 -08:00
svc_xprt.h sunrpc: Add a function to close temporary transports immediately 2015-12-23 10:08:15 -05:00
svcauth.h nfsd4: fix gss-proxy 4.1 mounts for some AD principals 2015-11-24 11:36:31 -07:00
svcauth_gss.h nfsd4: move principal name into svc_cred 2012-05-31 20:29:55 -04:00
svcsock.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-04-12 17:31:22 -07:00
timer.h
types.h
xdr.h rpc: define xdr_restrict_buflen 2014-05-30 17:32:01 -04:00
xprt.h NFS: Enable client side NFSv4.1 backchannel to use other transports 2015-11-02 16:29:13 -05:00
xprtrdma.h xprtrdma: Increase default credit limit 2015-08-05 16:21:26 -04:00
xprtsock.h SUNRPC: Move TCP receive data path into a workqueue context 2015-10-08 08:27:04 -04:00