mbox series

[v2,0/4] Eliminate the RQ_SPLICE_OK flag

Message ID 170025895725.4577.18051288602708688381.stgit@bazille.1015granger.net (mailing list archive)
Headers show
Series Eliminate the RQ_SPLICE_OK flag | expand

Message

Chuck Lever Nov. 17, 2023, 10:14 p.m. UTC
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).

Changes since v1:
- Address "undefined reference to `svcauth_gss_flavor'"

---

Chuck Lever (4):
      SUNRPC: Add a server-side API for retrieving an RPC's pseudoflavor
      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                     | 26 +++++++++++++++++++++++++-
 fs/nfsd/vfs.h                     |  1 +
 fs/nfsd/xdr4.h                    |  1 +
 include/linux/sunrpc/svc.h        |  2 --
 include/linux/sunrpc/svcauth.h    |  7 ++++++-
 include/trace/events/sunrpc.h     |  1 -
 net/sunrpc/auth_gss/svcauth_gss.c | 16 ++++++----------
 net/sunrpc/svc.c                  |  2 --
 net/sunrpc/svcauth.c              | 16 ++++++++++++++++
 11 files changed, 68 insertions(+), 24 deletions(-)

--
Chuck Lever

Comments

Jeff Layton Nov. 27, 2023, 8:21 p.m. UTC | #1
On Fri, 2023-11-17 at 17:14 -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).
> 
> Changes since v1:
> - Address "undefined reference to `svcauth_gss_flavor'"
> 
> ---
> 
> Chuck Lever (4):
>       SUNRPC: Add a server-side API for retrieving an RPC's pseudoflavor
>       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                     | 26 +++++++++++++++++++++++++-
>  fs/nfsd/vfs.h                     |  1 +
>  fs/nfsd/xdr4.h                    |  1 +
>  include/linux/sunrpc/svc.h        |  2 --
>  include/linux/sunrpc/svcauth.h    |  7 ++++++-
>  include/trace/events/sunrpc.h     |  1 -
>  net/sunrpc/auth_gss/svcauth_gss.c | 16 ++++++----------
>  net/sunrpc/svc.c                  |  2 --
>  net/sunrpc/svcauth.c              | 16 ++++++++++++++++
>  11 files changed, 68 insertions(+), 24 deletions(-)
> 
> --
> Chuck Lever
> 

Reviewed-by: Jeff Layton <jlayton@kernel.org>