X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=dbbbfaa1d839e2d0bd73d91ceb83956c69f8e2c2;hp=4caaf542e0e4b89f4156309469e476700f4b372f;hb=cefd2a94b408b9c3be0300edb1270a546e7f09fe;hpb=6a16ece86385259dc522fcf1510a977557a82a07 diff --git a/HOWTO b/HOWTO index 4caaf542..dbbbfaa1 100644 --- a/HOWTO +++ b/HOWTO @@ -173,7 +173,16 @@ Command line options .. option:: --eta=when Specifies when real-time ETA estimate should be printed. `when` may be - `always`, `never` or `auto`. + `always`, `never` or `auto`. `auto` is the default, it prints ETA + when requested if the output is a TTY. `always` disregards the output + type, and prints ETA when requested. `never` never prints ETA. + +.. option:: --eta-interval=time + + By default, fio requests client ETA status roughly every second. With + this option, the interval is configurable. Fio imposes a minimum + allowed time to avoid flooding the console, less than 250 msec is + not supported. .. option:: --eta-newline=time @@ -663,7 +672,7 @@ Time related parameters Tell fio to terminate processing after the specified period of time. It can be quite hard to determine for how long a specified job will run, so this parameter is handy to cap the total runtime to a given time. When - the unit is omitted, the value is intepreted in seconds. + the unit is omitted, the value is interpreted in seconds. .. option:: time_based @@ -1084,8 +1093,9 @@ I/O type .. option:: fadvise_hint=str - Use :manpage:`posix_fadvise(2)` to advise the kernel on what I/O patterns - are likely to be issued. Accepted values are: + Use :manpage:`posix_fadvise(2)` or :manpage:`posix_fadvise(2)` to + advise the kernel on what I/O patterns are likely to be issued. + Accepted values are: **0** Backwards-compatible hint for "no hint". @@ -1737,6 +1747,7 @@ I/O engine :manpage:`read(2)` and :manpage:`write(2)` for asynchronous I/O. Requires :option:`filename` option to specify either block or character devices. + The sg engine includes engine specific options. **null** Doesn't transfer any data, just pretends to. This is mainly used to @@ -1765,7 +1776,7 @@ I/O engine at least one non-cpuio job. **guasi** - The GUASI I/O engine is the Generic Userspace Asyncronous Syscall + The GUASI I/O engine is the Generic Userspace Asynchronous Syscall Interface approach to async I/O. See http://www.xmailserver.org/guasi-lib.html @@ -1800,6 +1811,11 @@ I/O engine I/O engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate defragment activity in request to DDIR_WRITE event. + **rados** + I/O engine supporting direct access to Ceph Reliable Autonomic + Distributed Object Store (RADOS) via librados. This ioengine + defines engine specific options. + **rbd** I/O engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd without the need to use the kernel rbd driver. This @@ -2001,7 +2017,7 @@ with the caveat that when used on the command line, they must come after the Allocate space immediately inside defragment event, and free right after event. -.. option:: clustername=str : [rbd] +.. option:: clustername=str : [rbd,rados] Specifies the name of the Ceph cluster. @@ -2009,17 +2025,22 @@ with the caveat that when used on the command line, they must come after the Specifies the name of the RBD. -.. option:: pool=str : [rbd] +.. option:: pool=str : [rbd,rados] - Specifies the name of the Ceph pool containing RBD. + Specifies the name of the Ceph pool containing RBD or RADOS data. -.. option:: clientname=str : [rbd] +.. option:: clientname=str : [rbd,rados] Specifies the username (without the 'client.' prefix) used to access the Ceph cluster. If the *clustername* is specified, the *clientname* shall be the full *type.id* string. If no type. prefix is given, fio will add 'client.' by default. +.. option:: busy_poll=bool : [rbd,rados] + + Poll store instead of waiting for completion. Usually this provides better + throughput at cost of higher(up to 100%) CPU utilization. + .. option:: skip_bad=bool : [mtd] Skip operations against known bad blocks. @@ -2048,6 +2069,17 @@ with the caveat that when used on the command line, they must come after the multiple paths exist between the client and the server or in certain loopback configurations. +.. option:: readfua=bool : [sg] + + With readfua option set to 1, read operations include + the force unit access (fua) flag. Default is 0. + +.. option:: writefua=bool : [sg] + + With writefua option set to 1, write operations include + the force unit access (fua) flag. Default is 0. + + I/O depth ~~~~~~~~~ @@ -2208,6 +2240,13 @@ I/O rate (https://en.wikipedia.org/wiki/Poisson_point_process). The lambda will be 10^6 / IOPS for the given workload. +.. option:: rate_ignore_thinktime=bool + + By default, fio will attempt to catch up to the specified rate setting, + if any kind of thinktime setting was used. If this option is set, then + fio will ignore the thinktime and continue doing IO at the specified + rate, instead of entering a catch-up mode after thinktime is done. + I/O latency ~~~~~~~~~~~ @@ -2386,7 +2425,7 @@ Threads, processes and job synchronization [:] - ``mode`` is one of the following memory poicies: ``default``, ``prefer``, + ``mode`` is one of the following memory policies: ``default``, ``prefer``, ``bind``, ``interleave`` or ``local``. For ``default`` and ``local`` memory policies, no node needs to be specified. For ``prefer``, only one node is allowed. For ``bind`` and ``interleave`` the ``nodelist`` may be as @@ -2510,7 +2549,7 @@ Verification each block. This will automatically use hardware acceleration (e.g. SSE4.2 on an x86 or CRC crypto extensions on ARM64) but will fall back to software crc32c if none is found. Generally the - fatest checksum fio supports when hardware accelerated. + fastest checksum fio supports when hardware accelerated. **crc32c-intel** Synonym for crc32c.