SUNRPC: Convert svc_xprt_release() to the release_pages() API
authorChuck Lever <chuck.lever@oracle.com>
Sat, 15 Apr 2023 00:18:02 +0000 (20:18 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Wed, 26 Apr 2023 13:05:02 +0000 (09:05 -0400)
commit647a2a6428f2cd01e53079ac16e17fdeff229e68
treee9754e648ff0707cf8d562f5fe90b91a5510f392
parentb20cb39def085723868972182fb58fa906839a4f
SUNRPC: Convert svc_xprt_release() to the release_pages() API

Instead of invoking put_page() one-at-a-time, pass the "response"
portion of rq_pages directly to release_pages() to reduce the number
of times each nfsd thread invokes a page allocator API.

Since svc_xprt_release() is not invoked while a client is waiting
for an RPC Reply, this is not expected to directly impact mean
request latencies on a lightly or moderately loaded server. However
as workload intensity increases, I expect somewhat better
scalability: the same number of server threads should be able to
handle more work.

Reviewed-by: Calum Mackay <calum.mackay@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/svc.c