From: Chuck Lever <cel@kernel.org>
To: NeilBrown <neil@brown.name>, Jeff Layton <jlayton@kernel.org>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <dai.ngo@oracle.com>, Tom Talpey <tom@talpey.com>
Cc: <linux-nfs@vger.kernel.org>
Subject: [PATCH 5/5] NFSD: Document reply_cache_stats ABI
Date: Thu, 16 Jul 2026 20:12:32 -0400 [thread overview]
Message-ID: <20260717001232.438792-6-cel@kernel.org> (raw)
In-Reply-To: <20260717001232.438792-1-cel@kernel.org>
/proc/fs/nfsd/reply_cache_stats has been present since v3.10 but
has no entry in Documentation/ABI/. Add one under testing/ that
documents the current field set, types, and parsing expectations.
This establishes a contract that parsers should match on field
name rather than line position, allowing fields to be added or
removed across kernel versions without breaking well-written
consumers.
Signed-off-by: Chuck Lever <cel@kernel.org>
---
.../ABI/testing/procfs-nfsd-reply_cache_stats | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 Documentation/ABI/testing/procfs-nfsd-reply_cache_stats
diff --git a/Documentation/ABI/testing/procfs-nfsd-reply_cache_stats b/Documentation/ABI/testing/procfs-nfsd-reply_cache_stats
new file mode 100644
index 000000000000..57ed5f8e6597
--- /dev/null
+++ b/Documentation/ABI/testing/procfs-nfsd-reply_cache_stats
@@ -0,0 +1,38 @@
+What: /proc/fs/nfsd/reply_cache_stats
+Date: March 2013
+KernelVersion: 3.10
+Contact: linux-nfs@vger.kernel.org
+Description:
+ Provides statistics for the NFS server duplicate reply
+ cache (DRC). The file contains one labeled field per
+ line. Each line has the form "field name:" followed by
+ whitespace and a decimal value.
+
+ Fields:
+
+ ======================= ====== ==========================
+ max entries u32 Upper bound on cache size
+ num entries u32 Current entry count
+ hash buckets u32 Number of hash buckets
+ mem usage s64 Bytes consumed by the DRC
+ cache hits s64 Requests answered from cache
+ cache misses s64 Requests not found in cache
+ not cached s64 Idempotent requests that
+ bypass the cache
+ payload misses s64 XID matched but request
+ checksum did not
+ longest chain len u32 Longest hash chain observed
+ cachesize at longest u32 Cache size when longest
+ chain was recorded
+ ======================= ====== ==========================
+
+ Counter fields (cache hits, cache misses, not cached,
+ payload misses, mem usage) are maintained with per-cpu
+ counters and may briefly show stale values under
+ concurrent load. There is no way to reset these
+ counters; consumers should compute rates by sampling
+ over time.
+
+ New fields may be appended in future kernels. Parsers
+ should match on field name, not line position.
+Users: nfs-utils (https://git.linux-nfs.org/?p=steved/nfs-utils.git)
--
2.54.0
next prev parent reply other threads:[~2026-07-17 0:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-17 0:12 [PATCH 0/5] Minor NFSD global DRC clean-ups Chuck Lever
2026-07-17 0:12 ` [PATCH 1/5] NFSD: Fix off-by-one in DRC bucket pruning limit Chuck Lever
2026-07-17 0:12 ` [PATCH 2/5] NFSD: Eliminate percpu counter contention in DRC memory accounting Chuck Lever
2026-07-17 0:12 ` [PATCH 3/5] NFSD: Eliminate percpu counter contention in reply cache statistics Chuck Lever
2026-07-17 0:12 ` [PATCH 4/5] NFSD: Eliminate percpu counter contention in IO byte accounting Chuck Lever
2026-07-17 0:12 ` Chuck Lever [this message]
2026-07-17 4:44 ` [PATCH 0/5] Minor NFSD global DRC clean-ups NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260717001232.438792-6-cel@kernel.org \
--to=cel@kernel.org \
--cc=dai.ngo@oracle.com \
--cc=jlayton@kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neil@brown.name \
--cc=okorniev@redhat.com \
--cc=tom@talpey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox