2023-11-27 12:38:58

by Jeff Layton

[permalink] [raw]
Subject: Re: [PATCH v1 0/3] Eliminate the RQ_SPLICE_OK flag

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 <[email protected]>


2023-11-27 16:14:20

by Chuck Lever III

[permalink] [raw]
Subject: Re: [PATCH v1 0/3] Eliminate the RQ_SPLICE_OK flag



> On Nov 27, 2023, at 7:38 AM, Jeff Layton <[email protected]> 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 <[email protected]>

Thanks! There is a v2, however, because the 0-day robot
flagged a significant problem with this set.

--
Chuck Lever