Mention default values for readwrite=/ioengine=/mem= in documentation
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index 9ed2c5f5580365c69664eecb651f7e1b4065df7b..ca1542d5fdf88b7fa0e6e607ab019a98c5d2d770 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -53,8 +53,8 @@ bottom, it contains the following basic parameters:
 
        IO engine       How do we issue io? We could be memory mapping the
                        file, we could be using regular read/write, we
-                       could be using splice, async io, syslet, or even
-                       SG (SCSI generic sg).
+                       could be using splice, async io, or even SG
+                       (SCSI generic sg).
 
        IO depth        If the io engine is async, how large a queuing
                        depth do we want to maintain?
@@ -329,18 +329,15 @@ directory=str     Prefix filenames with this directory. Used to place files
 filename=str   Fio normally makes up a filename based on the job name,
                thread number, and file number. If you want to share
                files between threads in a job or several jobs, specify
-               a filename for each of them to override the default. If
-               the ioengine used is 'net', the filename is the host, port,
-               and protocol to use in the format of =host,port,protocol.
-               See ioengine=net for more. If the ioengine is file based, you
-               can specify a number of files by separating the names with a
-               ':' colon. So if you wanted a job to open /dev/sda and /dev/sdb
-               as the two working files, you would use
-               filename=/dev/sda:/dev/sdb. On Windows, disk devices are
-               accessed as \\.\PhysicalDrive0 for the first device,
-               \\.\PhysicalDrive1 for the second etc. Note: Windows and
-               FreeBSD prevent write access to areas of the disk containing
-               in-use data (e.g. filesystems).
+               a filename for each of them to override the default.
+               If the ioengine is file based, you can specify a number of
+               files by separating the names with a ':' colon. So if you
+               wanted a job to open /dev/sda and /dev/sdb as the two working
+               files, you would use filename=/dev/sda:/dev/sdb. On Windows,
+               disk devices are accessed as \\.\PhysicalDrive0 for the first
+               device, \\.\PhysicalDrive1 for the second etc. Note: Windows
+               and FreeBSD prevent write access to areas of the disk
+               containing in-use data (e.g. filesystems).
                If the wanted filename does need to include a colon, then
                escape that with a '\' character. For instance, if the filename
                is "/dev/dsk/foo@3,0:c", then you would use
@@ -374,6 +371,11 @@ filename_format=str
                default of $jobname.$jobnum.$filenum will be used if
                no other format specifier is given.
 
+unique_filename=bool   To avoid collisions between networked clients, fio
+               defaults to prefixing any generated filenames (with a directory
+               specified) with the source of the client connecting. To disable
+               this behavior, set this option to 0.
+
 opendir=str    Tell fio to recursively add any file it can find in this
                directory and down the file system tree.
 
@@ -403,6 +405,7 @@ rw=str              Type of io pattern. Accepted values are:
                        trimwrite       Mixed trims and writes. Blocks will be
                                        trimmed first, then written to.
 
+               Fio defaults to read if the option is not specified.
                For the mixed io types, the default is to split them 50/50.
                For certain types of io the result may still be skewed a bit,
                since the speed may be different. It is possible to specify
@@ -697,11 +700,14 @@ ioengine=str      Defines how the job issues io to the file. The following
                        sync    Basic read(2) or write(2) io. lseek(2) is
                                used to position the io location.
 
-                       psync   Basic pread(2) or pwrite(2) io.
+                       psync   Basic pread(2) or pwrite(2) io. Default on all
+                               supported operating systems except for Windows.
 
                        vsync   Basic readv(2) or writev(2) IO.
 
-                       psyncv  Basic preadv(2) or pwritev(2) IO.
+                       pvsync  Basic preadv(2) or pwritev(2) IO.
+
+                       pvsync2 Basic preadv2(2) or pwritev2(2) IO.
 
                        libaio  Linux native asynchronous io. Note that Linux
                                may only support queued behaviour with
@@ -713,6 +719,7 @@ ioengine=str        Defines how the job issues io to the file. The following
                        solarisaio Solaris native asynchronous io.
 
                        windowsaio Windows native asynchronous io.
+                               Default on Windows.
 
                        mmap    File is memory mapped and data copied
                                to/from using memcpy(3).
@@ -721,9 +728,6 @@ ioengine=str        Defines how the job issues io to the file. The following
                                vmsplice(2) to transfer data from user
                                space to the kernel.
 
-                       syslet-rw Use the syslet system calls to make
-                               regular read/write async.
-
                        sg      SCSI generic sg v3 io. May either be
                                synchronous using the SG_IO ioctl, or if
                                the target is an sg character device
@@ -748,7 +752,7 @@ ioengine=str        Defines how the job issues io to the file. The following
 
                        cpuio   Doesn't transfer any data, but burns CPU
                                cycles according to the cpuload= and
-                               cpucycle= options. Setting cpuload=85
+                               cpuchunks= options. Setting cpuload=85
                                will cause that job to do nothing but burn
                                85% of the CPU. In case of SMP machines,
                                use numjobs=<no_of_cpu> to get desired CPU
@@ -1063,7 +1067,8 @@ nice=int  Run the job with the given nice value. See man nice(2).
 
 prio=int       Set the io priority value of this job. Linux limits us to
                a positive value between 0 and 7, with 0 being the highest.
-               See man ionice(1).
+               See man ionice(1). Refer to an appropriate manpage for
+               other operating systems since meaning of priority may differ.
 
 prioclass=int  Set the io priority class. See man ionice(1).
 
@@ -1219,6 +1224,7 @@ mem=str           Fio can use various types of memory as the io unit buffer.
                The allowed values are:
 
                        malloc  Use memory from malloc(3) as the buffers.
+                               Default memory type.
 
                        shm     Use shared memory as the buffers. Allocated
                                through shmget(2).