From nobody Tue May 26 21:23:02 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gQ5MC2lLTz6gT8m for ; Tue, 26 May 2026 21:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gQ5MC0SJRz3wb9 for ; Tue, 26 May 2026 21:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779830583; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MTdl8FX1W1Wi2T87M1JVYbg4/Ht7xL8UGALAB6GKgqQ=; b=CP3F2e8LQKcW6/ymWd+15mwjzpBI0Du2A4cHOmeBo1QuhUmykPCN6DgqyvonhbawXdpOTY 7wuIGD/Ce2u15gENzyfbU+dpFx0w7X4ScJ3JzsPpgUbyj+QmdnPdn7gaGoICCrpLvkl52V IPVuYgW0o97laFEXHIb5spD/oMi1tgNal1H9xKWu3oYAi21m8syV9r4NbRhuTYvsy96+us GFxmzseYUnxibkzAHg1b1zpRanvC/iw6Z1hWpt9RkBX6/5rBS+g+PDAOBZmXUIoBM0/JPR PsFKyB3Sw42V4Gx6xcsaEZTm+MhuuPBEy74HldonlwbjhZmXNEXonRJPCa7muA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779830583; a=rsa-sha256; cv=none; b=vQG2zjJqkuLGe5yM4cu+PlqccLvhKVvWioyJFSGpkSNiJsDfvuhisTIGBn+9DM9y93BgCo MDGl9ELfkr+KBSm4A7Sev2J8lm6l8tMrA1Vh4II5p5Fjm4F63q/IwwqDQE7q9O9urHrI8J tdUU5UZfDhXARPpdtGivFLWOnOD0g44jKUy1IJZuAHT9MArrc+v6mrORucrPHc767I9aO0 AP0bsOLdVegWjT+nSQ9WPshG/YcnSvlbFeT0M+CirTSv2xpEYCmTUSnK/gphaluuzmP6ks 4C0s/H2UAxfYIVaFeux0twWG2tfCbVXF6+AyEhl6DiLnjQYRXBeODx6rLCsIfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779830583; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MTdl8FX1W1Wi2T87M1JVYbg4/Ht7xL8UGALAB6GKgqQ=; b=xc6JUMFY0rwWiJee7EPIcyHKyRCgxMC65a0kvR2VdpFRVJaTviK4lwv7qNafsRQJFD+fx1 mTy0LF6qEBsUcysm4BXmz7+TJhsjUd6UYg8b8w3WrGwJ1KJ6Zd1gjzCehBeIK+qgiVEXnt ofXBlWAEXEVVnZ6bsVM7k0ymMRFEjf2Pp2eZrz/QfTLGEWoRxczrtvjrF2PnLZlxFl7/El hsXiQWn0xGu6zBVjZhpUSDyTGQs679lkwWAV4z69NyIwLIYelWJy8m+Q2BzDbCoEiW1PWT iej+iausEs59eI0iVoe1wseJulAaqJvVsFuNDRPQ7dx3NcPxZmNjp1QNbwTq6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gQ5MC00z8zTw0 for ; Tue, 26 May 2026 21:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22e4e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 26 May 2026 21:23:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alex Richardson Subject: git: 882181b1ae4c - main - p9fs: Implement msize mount option and bump default to 128 KiB List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: arichardson X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 882181b1ae4c78b4f191fdb7cf6fe1b6ff83c9ff Auto-Submitted: auto-generated Date: Tue, 26 May 2026 21:23:02 +0000 Message-Id: <6a160f36.22e4e.1d353044@gitrepo.freebsd.org> The branch main has been updated by arichardson: URL: https://cgit.FreeBSD.org/src/commit/?id=882181b1ae4c78b4f191fdb7cf6fe1b6ff83c9ff commit 882181b1ae4c78b4f191fdb7cf6fe1b6ff83c9ff Author: Alex Richardson AuthorDate: 2026-05-26 19:38:18 +0000 Commit: Alex Richardson CommitDate: 2026-05-26 19:38:18 +0000 p9fs: Implement msize mount option and bump default to 128 KiB QEMU warns when msize is <= 8192 due to degraded performance. This change bumps our default msize to 128 KiB, matching the Linux Kernel v5.15 and newer default. Linux supports even larger values, but 128 KiB is a sensible default. We also add a new 'msize' mount option to allow users to override this value, and we validate it against our maximum supported MTU (currently fixed by the UMA zone size). Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56496 --- sys/fs/p9fs/p9_client.c | 9 ++++++++- sys/fs/p9fs/p9_client.h | 7 +++++-- sys/fs/p9fs/p9fs_vfsops.c | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/sys/fs/p9fs/p9_client.c b/sys/fs/p9fs/p9_client.c index 27a6c1eb366d..d3be87ee1645 100644 --- a/sys/fs/p9fs/p9_client.c +++ b/sys/fs/p9fs/p9_client.c @@ -95,7 +95,14 @@ p9_parse_opts(struct mount *mp, struct p9_client *clnt) /* These are defaults for now */ clnt->proto_version = p9_proto_2000L; - clnt->msize = 8192; + clnt->msize = P9FS_MTU; + + vfs_scanopt(mp->mnt_optnew, "msize", "%u", &clnt->msize); + if (clnt->msize > P9FS_MTU) { + vfs_mount_error(mp, "msize %u is greater than max allowed %u", + clnt->msize, P9FS_MTU); + return (EINVAL); + } /* Get the default trans callback */ clnt->ops = p9_get_trans_by_name(trans); diff --git a/sys/fs/p9fs/p9_client.h b/sys/fs/p9fs/p9_client.h index 5db46d97c704..e5167f9a0f58 100644 --- a/sys/fs/p9fs/p9_client.h +++ b/sys/fs/p9fs/p9_client.h @@ -65,8 +65,11 @@ enum transport_status { P9FS_DISCONNECT, /* transport has been dosconnected */ }; -/* This is set by QEMU so we will oblige */ -#define P9FS_MTU 8192 +/* + * This matches the Linux 5.15 and newer default. + * Note: Linux allows larger msize values than this. + */ +#define P9FS_MTU 131072 /* * Even though we have a 8k buffer, Qemu is typically doing 8168 diff --git a/sys/fs/p9fs/p9fs_vfsops.c b/sys/fs/p9fs/p9fs_vfsops.c index a0f0a5a4e494..fe8c1b5ded31 100644 --- a/sys/fs/p9fs/p9fs_vfsops.c +++ b/sys/fs/p9fs/p9fs_vfsops.c @@ -59,7 +59,7 @@ extern struct vop_vector p9fs_vnops; /* option parsing */ static const char *p9fs_opts[] = { - "from", "trans", "access", NULL + "from", "trans", "access", "msize", NULL }; /* Dispose p9fs node, freeing it to the UMA zone */