diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2018-07-27 17:18:54 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2018-08-09 22:11:21 +0200 |
commit | a53d5cb0646a12586ae45c892c7a411d47ee1a1d (patch) | |
tree | 8342ebe172d876e8e0358fc0531cf3f75d3e7e58 /net/sunrpc/auth_gss | |
parent | nfsd: Mark expected switch fall-through (diff) | |
download | linux-a53d5cb0646a12586ae45c892c7a411d47ee1a1d.tar.xz linux-a53d5cb0646a12586ae45c892c7a411d47ee1a1d.zip |
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>
Diffstat (limited to 'net/sunrpc/auth_gss')
0 files changed, 0 insertions, 0 deletions