Recent changes (master)

Jens Axboe <[email protected]> Mon, 6 Oct 2025 06:00:01 -0600
Newsgroups org.kernel.vger.fio
Message-ID <[email protected]>
The following changes since commit 9806424ae0ce388c8dad1687864b02dee3d8e0d2:

  REPORTING-BUGS: add note about reports on malicious job files (2025-10-04 16:57:44 -0600)

are available in the Git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to 925a31571d2d28c319a20b70d37513463b7fad30:

  Merge branch 'uncached_doc' of https://github.com/Panky-codes/fio (2025-10-05 14:25:54 -0600)

----------------------------------------------------------------
Jens Axboe (1):
      Merge branch 'uncached_doc' of https://github.com/Panky-codes/fio

Pankaj Raghav (1):
      doc: add documentation for uncached buffered I/O

 HOWTO.rst | 13 +++++++++++++
 fio.1     | 12 ++++++++++++
 2 files changed, 25 insertions(+)

---

Diff of recent changes:

diff --git a/HOWTO.rst b/HOWTO.rst
index 3a4e018f..9f55a73b 100644
--- a/HOWTO.rst
+++ b/HOWTO.rst
@@ -2565,6 +2565,19 @@ with the caveat that when used on the command line, they must come after the
 	For direct I/O, requests will only succeed if cache invalidation isn't required,
 	file blocks are fully allocated and the disk request could be issued immediately.
 
+.. option:: uncached=int : [pvsync2] [io_uring]
+
+	This option will perform buffered IO without retaining data in the
+	page cache after the operation completes.
+
+	Reads work like a normal buffered read but pages are evicted immediately
+	after data is copied to userspace. Writes work like buffered writes but
+	a writeback is initiated before the syscall returns. Pages are evicted
+	once the writeback completes.
+
+	This option sets the RWF_UNCACHED flag (supported from the 6.14 Linux kernel) on
+	a per-IO basis.
+
 .. option:: atomic=bool : [pvsync2] [libaio] [io_uring]
 
 	This option means that writes are issued with torn-write protection, meaning
diff --git a/fio.1 b/fio.1
index bee06048..5036b4f9 100644
--- a/fio.1
+++ b/fio.1
@@ -2320,6 +2320,18 @@ cached data. Currently the RWF_NOWAIT flag does not supported for cached write.
 For direct I/O, requests will only succeed if cache invalidation isn't required,
 file blocks are fully allocated and the disk request could be issued immediately.
 .TP
+.BI (pvsync2,io_uring)uncached \fR=\fPint
+This option will perform buffered IO without retaining data in the
+page cache after the operation completes.
+
+Reads work like a normal buffered read but pages are evicted immediately
+after data is copied to userspace. Writes work like buffered writes but
+a writeback is initiated before the syscall returns. Pages are evicted
+once the writeback completes.
+
+This option sets the RWF_UNCACHED flag (supported from the 6.14 Linux kernel) on
+a per-IO basis.
+.TP
 .BI (pvsync2,libaio,io_uring)atomic \fR=\fPbool
 This option means that writes are issued with torn-write protection, meaning
 that for a power fail or kernel crash, all or none of the data from the write