Commit 1e7dbad6 authored by Chuck Lever's avatar Chuck Lever
Browse files

SUNRPC: Bump the maximum payload size for the server



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
596bbe53 ("[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: default avatarJeff Layton <jlayton@kernel.org>
Reviewed-by: default avatarNeilBrown <neil@brown.name>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 8a81f16d
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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);