aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2009-01-03 20:27:38 -0500
committerTheodore Ts'o <tytso@mit.edu>2009-01-03 20:27:38 -0500
commit30773840c19cea60dcef39545960d541b1ac1cf8 (patch)
treef220a2dce451a40dc7264e8fd70c77c5a3908873 /Documentation
parentd7cfa4684d82f58e5d7cb73b8a3c88c169937f25 (diff)
ext4: add fsync batch tuning knobs
Add new mount options, min_batch_time and max_batch_time, which controls how long the jbd2 layer should wait for additional filesystem operations to get batched with a synchronous write transaction. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/ext4.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
index f75ab101c00a..e3fcbea3ec8c 100644
--- a/Documentation/filesystems/ext4.txt
+++ b/Documentation/filesystems/ext4.txt
@@ -283,6 +283,35 @@ delalloc (*) Deferring block allocation until write-out time.
283nodelalloc Disable delayed allocation. Blocks are allocation 283nodelalloc Disable delayed allocation. Blocks are allocation
284 when data is copied from user to page cache. 284 when data is copied from user to page cache.
285 285
286max_batch_time=usec Maximum amount of time ext4 should wait for
287 additional filesystem operations to be batch
288 together with a synchronous write operation.
289 Since a synchronous write operation is going to
290 force a commit and then a wait for the I/O
291 complete, it doesn't cost much, and can be a
292 huge throughput win, we wait for a small amount
293 of time to see if any other transactions can
294 piggyback on the synchronous write. The
295 algorithm used is designed to automatically tune
296 for the speed of the disk, by measuring the
297 amount of time (on average) that it takes to
298 finish committing a transaction. Call this time
299 the "commit time". If the time that the
300 transactoin has been running is less than the
301 commit time, ext4 will try sleeping for the
302 commit time to see if other operations will join
303 the transaction. The commit time is capped by
304 the max_batch_time, which defaults to 15000us
305 (15ms). This optimization can be turned off
306 entirely by setting max_batch_time to 0.
307
308min_batch_time=usec This parameter sets the commit time (as
309 described above) to be at least min_batch_time.
310 It defaults to zero microseconds. Increasing
311 this parameter may improve the throughput of
312 multi-threaded, synchronous workloads on very
313 fast disks, at the cost of increasing latency.
314
286Data Mode 315Data Mode
287========= 316=========
288There are 3 different data modes: 317There are 3 different data modes: