Re: [PATCH v5 19/19] SUNRPC: Bump the maximum payload size for the server

Aurélien Couderc
2025-05-12T16:45:35Z

Could this patch series - minus the change to the default of 1MB - be
promoted to Linux 6.6 LongTermSupport, please?

Aurélien

On Fri, May 9, 2025 at 9:06 PM <cel@kernel.org> wrote:
>
> From: Chuck Lever <chuck.lever@oracle.com>
>
> Increase the maximum server-side RPC payload to 4MB. The default
> remains at 1MB.
>
> An API to adjust the operational maximum was added in 2006 by commit
> 596bbe53eb3a ("[PATCH] knfsd: Allow max size of NFSd payload to be
> configured"). To adjust the operational maximum using this API, shut
> down the NFS server. Then echo a new value into:
>
> /proc/fs/nfsd/max_block_size
>
> And restart the NFS server.
>
> Reviewed-by: Jeff Layton <jlayton@kernel.org>
> Reviewed-by: NeilBrown <neil@brown.name>
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> include/linux/sunrpc/svc.h | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
> index d57df042e24a..48666b83fe68 100644
> --- a/include/linux/sunrpc/svc.h
> +++ b/include/linux/sunrpc/svc.h
> @@ -119,14 +119,14 @@ void svc_destroy(struct svc_serv **svcp);
> * Linux limit; someone who cares more about NFS/UDP performance
> * can test a larger number.
> *
> - * For TCP transports we have more freedom. A size of 1MB is
> - * chosen to match the client limit. Other OSes are known to
> - * have larger limits, but those numbers are probably beyond
> - * the point of diminishing returns.
> + * For non-UDP transports we have more freedom. A size of 4MB is
> + * chosen to accommodate clients that support larger I/O sizes.
> */
> -#define RPCSVC_MAXPAYLOAD (1*1024*1024u)
> -#define RPCSVC_MAXPAYLOAD_TCP RPCSVC_MAXPAYLOAD
> -#define RPCSVC_MAXPAYLOAD_UDP (32*1024u)
> +enum {
> + RPCSVC_MAXPAYLOAD = 4 * 1024 * 1024,
> + RPCSVC_MAXPAYLOAD_TCP = RPCSVC_MAXPAYLOAD,
> + RPCSVC_MAXPAYLOAD_UDP = 32 * 1024,
> +};
>
> extern u32 svc_max_payload(const struct svc_rqst *rqstp);
>
> --
> 2.49.0
>
>

--
Aurélien Couderc <aurelien.couderc2002@gmail.com>
Big Data/Data mining expert, chess enthusiast