On Mon, Feb 08, 2021 at 05:50:51PM +0000, Chuck Lever wrote: > > We've been discussing how NFSD can more efficiently refill its > > receive buffers (currently alloc_page() in a loop; see > > net/sunrpc/svc_xprt.c::svc_alloc_arg()). I'm not familiar with the sunrpc architecture, but this feels like you're trying to optimise something that shouldn't exist. Ideally a write would ask the page cache for the pages that correspond to the portion of the file which is being written to. I appreciate that doesn't work well for, eg, NFS-over-TCP, but for NFS over any kind of RDMA, that should be possible, right?