diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2021-07-01 16:03:10 +0200 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2021-08-17 17:47:52 +0200 |
commit | 2f0f88f42f2eab0421ed37d7494de9124fdf0d34 (patch) | |
tree | f426289ca32413bb582d1b8ecb7d673d155ddc2f /fs/nfsd/vfs.c | |
parent | NFSD: Clean up splice actor (diff) | |
download | linux-2f0f88f42f2eab0421ed37d7494de9124fdf0d34.tar.xz linux-2f0f88f42f2eab0421ed37d7494de9124fdf0d34.zip |
SUNRPC: Add svc_rqst_replace_page() API
Replacing a page in rq_pages[] requires a get_page(), which is a
bus-locked operation, and a put_page(), which can be even more
costly.
To reduce the cost of replacing a page in rq_pages[], batch the
put_page() operations by collecting "freed" pages in a pagevec,
and then release those pages when the pagevec is full. This
pagevec is also emptied when each RPC completes.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions