summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/vfs.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2021-07-01 16:03:10 +0200
committerChuck Lever <chuck.lever@oracle.com>2021-08-17 17:47:52 +0200
commit2f0f88f42f2eab0421ed37d7494de9124fdf0d34 (patch)
treef426289ca32413bb582d1b8ecb7d673d155ddc2f /fs/nfsd/vfs.c
parentNFSD: Clean up splice actor (diff)
downloadlinux-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