Message ID | 169988319025.6844.14300255016413760826.stgit@bazille.1015granger.net (mailing list archive) |
---|---|
Headers | show |
Series | Eliminate the RQ_SPLICE_OK flag | expand |
On Mon, 2023-11-13 at 08:54 -0500, Chuck Lever wrote: > The server's splice read path is used by the majority of exported > filesystems. At last month's bake-a-thon, we tossed around some > ideas about how to improve benchmarking and test coverage of the NFS > server's vectored-read path, which is a fallback. > > One way to do this would be to expose a switch that can be set by > test harnesses to disable splice reads. > > As an initial step, hoist RQ_SPLICE_OK out of the RPC layer. Later, > I'll add a netlink command to as a switch between "use splice if > possible" and "always use vectored reads". (I don't want to collide > with the work Lorenzo is doing). > > --- > > Chuck Lever (3): > NFSD: Replace RQ_SPLICE_OK in nfsd_read() > NFSD: Modify NFSv4 to use nfsd_read_splice_ok() > SUNRPC: Remove RQ_SPLICE_OK > > > fs/nfsd/nfs4proc.c | 7 +++++-- > fs/nfsd/nfs4xdr.c | 13 ++++++++----- > fs/nfsd/vfs.c | 30 +++++++++++++++++++++++++++++- > fs/nfsd/vfs.h | 1 + > fs/nfsd/xdr4.h | 1 + > include/linux/sunrpc/svc.h | 2 -- > include/trace/events/sunrpc.h | 1 - > net/sunrpc/auth_gss/svcauth_gss.c | 10 ---------- > net/sunrpc/svc.c | 2 -- > 9 files changed, 44 insertions(+), 23 deletions(-) > > -- > Chuck Lever > Nice cleanup Reviewed-by: Jeff Layton <jlayton@kernel.org>
> On Nov 27, 2023, at 7:38 AM, Jeff Layton <jlayton@kernel.org> wrote: > > On Mon, 2023-11-13 at 08:54 -0500, Chuck Lever wrote: >> The server's splice read path is used by the majority of exported >> filesystems. At last month's bake-a-thon, we tossed around some >> ideas about how to improve benchmarking and test coverage of the NFS >> server's vectored-read path, which is a fallback. >> >> One way to do this would be to expose a switch that can be set by >> test harnesses to disable splice reads. >> >> As an initial step, hoist RQ_SPLICE_OK out of the RPC layer. Later, >> I'll add a netlink command to as a switch between "use splice if >> possible" and "always use vectored reads". (I don't want to collide >> with the work Lorenzo is doing). >> >> --- >> >> Chuck Lever (3): >> NFSD: Replace RQ_SPLICE_OK in nfsd_read() >> NFSD: Modify NFSv4 to use nfsd_read_splice_ok() >> SUNRPC: Remove RQ_SPLICE_OK >> >> >> fs/nfsd/nfs4proc.c | 7 +++++-- >> fs/nfsd/nfs4xdr.c | 13 ++++++++----- >> fs/nfsd/vfs.c | 30 +++++++++++++++++++++++++++++- >> fs/nfsd/vfs.h | 1 + >> fs/nfsd/xdr4.h | 1 + >> include/linux/sunrpc/svc.h | 2 -- >> include/trace/events/sunrpc.h | 1 - >> net/sunrpc/auth_gss/svcauth_gss.c | 10 ---------- >> net/sunrpc/svc.c | 2 -- >> 9 files changed, 44 insertions(+), 23 deletions(-) >> >> -- >> Chuck Lever >> > > Nice cleanup > > Reviewed-by: Jeff Layton <jlayton@kernel.org> Thanks! There is a v2, however, because the 0-day robot flagged a significant problem with this set. -- Chuck Lever