Trond Myklebust <trondmy@xxxxxxxxxxxxxxx> wrote: > 1) This is code that is common to the client and the server. Why are we > adding unused 3 bvec slots to every client RPC call? Fair point, but I'm trying to avoid making four+ sendmsg calls in nfsd rather than one. > 2) It obfuscates the existence of these bvec slots. True, it'd be nice to find a better way to do it. Question is, can the client make use of MSG_SPLICE_PAGES also? > 3) knfsd may use splice_direct_to_actor() in order to avoid copying the page > cache data into private buffers (it just takes a reference to the > pages). Using MSG_SPLICE_PAGES will presumably require it to protect those > pages against further writes while the socket is referencing them. Upstream sunrpc is using sendpage with TCP. It already has that issue. MSG_SPLICE_PAGES is a way of doing sendpage through sendmsg. David