Merge branch 'xnvme_includes' of https://github.com/safl/fio
[fio.git] / HOWTO.rst
index cc7124b132af178be7c1c3945083b6e40f2facbb..d173702b1d38f3375df91adb6943399464110a4b 100644 (file)
--- a/HOWTO.rst
+++ b/HOWTO.rst
@@ -2344,8 +2344,8 @@ with the caveat that when used on the command line, they must come after the
 
                cmdprio_bssplit=blocksize/percentage/class/level/hint:...
 
-       This is an extension of the second accepted format that allows to also
-       specify a priority hint.
+       This is an extension of the second accepted format that allows one to
+       also specify a priority hint.
 
        For all formats, only the read and write data directions are supported,
        values for trim IOs are ignored. This option is mutually exclusive with
@@ -2507,6 +2507,10 @@ with the caveat that when used on the command line, they must come after the
        If this is set to 0, fio generates protection information for
        write case and verifies for read case. Default: 1.
 
+       For 16 bit CRC generation fio will use isa-l if available otherwise
+       it will use the default slower generator.
+       (see: https://github.com/intel/isa-l)
+
 .. option:: pi_chk=str[,str][,str] : [io_uring_cmd]
 
        Controls the protection information check. This can take one or more
@@ -3014,7 +3018,7 @@ with the caveat that when used on the command line, they must come after the
        **hugepage**
                Use hugepages, instead of existing posix memory backend. The
                memory backend uses hugetlbfs. This require users to allocate
-               hugepages, mount hugetlbfs and set an enviornment variable for
+               hugepages, mount hugetlbfs and set an environment variable for
                XNVME_HUGETLB_PATH.
        **spdk**
                Uses SPDK's memory allocator.
@@ -3047,7 +3051,7 @@ with the caveat that when used on the command line, they must come after the
        creating but before connecting the libblkio instance. Each property must
        have the format ``<name>=<value>``. Colons can be escaped as ``\:``.
        These are set after the engine sets any other properties, so those can
-       be overriden. Available properties depend on the libblkio version in use
+       be overridden. Available properties depend on the libblkio version in use
        and are listed at
        https://libblkio.gitlab.io/libblkio/blkio.html#properties
 
@@ -3071,7 +3075,7 @@ with the caveat that when used on the command line, they must come after the
        connecting but before starting the libblkio instance. Each property must
        have the format ``<name>=<value>``. Colons can be escaped as ``\:``.
        These are set after the engine sets any other properties, so those can
-       be overriden. Available properties depend on the libblkio version in use
+       be overridden. Available properties depend on the libblkio version in use
        and are listed at
        https://libblkio.gitlab.io/libblkio/blkio.html#properties
 
@@ -3205,6 +3209,14 @@ I/O depth
 I/O rate
 ~~~~~~~~
 
+.. option:: thinkcycles=int
+
+       Stall the job for the specified number of cycles after an I/O has completed before
+       issuing the next. May be used to simulate processing being done by an application.
+       This is not taken into account for the time to be waited on for  :option:`thinktime`.
+       Might not have any effect on some platforms, this can be checked by trying a setting
+       a high enough amount of thinkcycles.
+
 .. option:: thinktime=time
 
        Stall the job for the specified period of time after an I/O has completed before issuing the
@@ -3635,8 +3647,8 @@ Threads, processes and job synchronization
        By default, fio will continue running all other jobs when one job finishes.
        Sometimes this is not the desired action. Setting ``exitall`` will
        instead make fio terminate all jobs in the same group. The option
-        ``exit_what`` allows to control which jobs get terminated when ``exitall`` is
-        enabled. The default is ``group`` and does not change the behaviour of
+        ``exit_what`` allows one to control which jobs get terminated when ``exitall``
+        is enabled. The default is ``group`` and does not change the behaviour of
         ``exitall``. The setting ``all`` terminates all jobs. The setting ``stonewall``
         terminates all currently running jobs across all groups and continues execution
         with the next stonewalled group.
@@ -3956,9 +3968,11 @@ Measurements and reporting
 
 .. option:: per_job_logs=bool
 
-       If set, this generates bw/clat/iops log with per file private filenames. If
-       not set, jobs with identical names will share the log filename. Default:
-       true.
+        If set to true, fio generates bw/clat/iops logs with per job unique
+        filenames. If set to false, jobs with identical names will share a log
+        filename. Note that when this option is set to false log files will be
+        opened in append mode and if log files already exist the previous
+        contents will not be overwritten. Default: true.
 
 .. option:: group_reporting