Add softrandommap and --alloc-size options
[fio.git] / README
diff --git a/README b/README
index a13151ce5ce0720715bbc27926cde4eb135ea79e..db8e6724ee7745d2c81f5ae2793ad6ebdd0f8d41 100644 (file)
--- a/README
+++ b/README
@@ -64,7 +64,7 @@ Command line
 $ fio
         --debug         Enable some debugging options (see below)
         --output        Write output to file
-        --runtime       Runtime in seconds
+        --timeout       Runtime in seconds
         --latency-log   Generate per-job latency logs
         --bandwidth-log Generate per-job bandwidth logs
         --minimal       Minimal (terse) output
@@ -72,9 +72,11 @@ $ fio
        --help          Print this page
        --cmdhelp=cmd   Print command help, "all" for all of them
        --showcmd       Turn a job file into command line options
-       --readonly      Turn on safety read-only checks
+       --readonly      Turn on safety read-only checks, preventing writes
        --eta=when      When ETA estimate should be printed
                        May be "always", "never" or "auto"
+       --section=name  Only run specified section in job file
+       --alloc-size=kb Set smalloc pool to this size in kb (def 1024)
 
 
 Any parameters following the options will be assumed to be job files,
@@ -95,10 +97,29 @@ options in fio. Currently the options are:
        file            Dump info related to file actions
        io              Dump info related to IO queuing
        mem             Dump info related to memory allocations
+       blktrace        Dump info related to blktrace setup
+       verify          Dump info related to IO verification
+       all             Enable all debug options
+       random          Dump info related to random offset generation
+       parse           Dump info related to option matching and parsing
+       diskutil        Dump info related to disk utilization updates
+       ? or help       Show available debug options.
 
 You can specify as many as you want, eg --debug=file,mem will enable
-file and memory debugging. Specifying --debug=help or --debug=? will
-dump the current modifier list.
+file and memory debugging.
+
+The section switch is meant to make it easier to ship a bigger job file
+instead of several smaller ones. Say you define a job file with light,
+moderate, and heavy parts. Then you can ask fio to run the given part
+only by giving it a --section=heavy command line option. The section
+option only applies to job sections, the reserved 'global' section is
+always parsed and taken into account.
+
+Fio has an internal allocator for shared memory called smalloc. It
+allocates shared structures from this pool. The pool defaults to 1024k
+in size, and can grow to 32 pools. If running large jobs with randommap
+enabled it can run out of memory, in which case the --alloc-size switch
+is handy for starting with a larger pool size.
 
 
 Job file
@@ -133,14 +154,16 @@ The job file parameters are:
        size=x          Set file size to x bytes (x string can include k/m/g)
        ioengine=x      'x' may be: aio/libaio/linuxaio for Linux aio,
                        posixaio for POSIX aio, sync for regular read/write io,
-                       psync for regular pread/pwrite io, mmap for mmap'ed io,
-                       syslet-rw for syslet driven read/write, splice for using
-                       splice/vmsplice, sgio for direct SG_IO io, net for
-                       network io, or cpuio for a cycler burner load. sgio only
-                       works on Linux on SCSI (or SCSI-like devices, such as
-                       usb-storage or sata/libata driven) devices. Fio also has
-                       a null io engine, which is mainly used for testing fio
-                       itself.
+                       psync for regular pread/pwrite io, vsync for regular
+                       readv/writev (with queuing emulation) mmap for mmap'ed
+                       io, syslet-rw for syslet driven read/write, splice for
+                       using splice/vmsplice, sgio for direct SG_IO io, net
+                       for network io, or cpuio for a cycler burner load. sgio
+                       only works on Linux on SCSI (or SCSI-like devices, such
+                       as usb-storage or sata/libata driven) devices. Fio also
+                       has a null io engine, which is mainly used for testing
+                       fio itself.
+
        iodepth=x       For async io, allow 'x' ios in flight
        overwrite=x     If 'x', layout a write file first.
        nrfiles=x       Spread io load over 'x' number of files per job,