linux/net/sunrpc/xprtrdma
Chuck Lever a53d5cb064 svcrdma: Avoid releasing a page in svc_xprt_release()
svc_xprt_release() invokes svc_free_res_pages(), which releases
pages between rq_respages and rq_next_page.

Historically, the RPC/RDMA transport has set these two pointers to
be different by one, which means:

- one page gets released when svc_recv returns 0. This normally
happens whenever one or more RDMA Reads need to be dispatched to
complete construction of an RPC Call.

- one page gets released after every call to svc_send.

In both cases, this released page is immediately refilled by
svc_alloc_arg. There does not seem to be a reason for releasing this
page.

To avoid this unnecessary memory allocator traffic, set rq_next_page
more carefully.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2018-08-09 16:11:21 -04:00
..
backchannel.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
fmr_ops.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
frwr_ops.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
rpc_rdma.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
svc_rdma_backchannel.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
svc_rdma_recvfrom.c svcrdma: Avoid releasing a page in svc_xprt_release() 2018-08-09 16:11:21 -04:00
svc_rdma_rw.c svcrdma: Persistently allocate and DMA-map Receive buffers 2018-05-11 15:48:57 -04:00
svc_rdma_sendto.c svcrdma: Avoid releasing a page in svc_xprt_release() 2018-08-09 16:11:21 -04:00
svc_rdma_transport.c svcrdma: Don't overrun the SGE array in svc_rdma_send_ctxt 2018-05-11 15:48:57 -04:00
svc_rdma.c sunrpc: remove redundant variables 'checksumlen','blocksize' and 'data' 2018-08-09 16:11:21 -04:00
transport.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
verbs.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
xprt_rdma.h NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00