From: Jens Axboe Date: Mon, 19 May 2014 15:50:54 +0000 (-0600) Subject: Merge branch 'master' of git://github.com/cvubrugier/fio X-Git-Tag: fio-2.1.10~12 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=370c2c87bcb4dbcff279fe7235752ed97a04dcab;hp=-c Merge branch 'master' of git://github.com/cvubrugier/fio --- 370c2c87bcb4dbcff279fe7235752ed97a04dcab diff --combined fio.1 index 608ae4ec,f080d460..62f40ea2 --- a/fio.1 +++ b/fio.1 @@@ -75,7 -75,7 +75,7 @@@ Report full output status every `time` Turn on safety read-only checks, preventing any attempted write. .TP .BI \-\-section \fR=\fPsec - Only run section \fIsec\fR from job file. Multiple of these options can be given, adding more sections to run. + Only run section \fIsec\fR from job file. This option can be used multiple times to add more sections to run. .TP .BI \-\-alloc\-size \fR=\fPkb Set the internal smalloc pool size to \fIkb\fP kilobytes. @@@ -225,7 -225,7 +225,7 @@@ The lock modes are No locking. This is the default. .TP .B exclusive - Only one thread or process may do IO at the time, excluding all others. + Only one thread or process may do IO at a time, excluding all others. .TP .B readwrite Read-write locking on the file. Many readers may access the file at the same @@@ -310,7 -310,7 +310,7 @@@ reasons. Allowed values are 1024 or 100 .BI unified_rw_reporting \fR=\fPbool Fio normally reports statistics on a per data direction basis, meaning that read, write, and trim are accounted and reported separately. If this option is - set, the fio will sum the results and report them as "mixed" instead. + set fio sums the results and reports them as "mixed" instead. .TP .BI randrepeat \fR=\fPbool Seed the random number generator used for random I/O patterns in a predictable @@@ -326,8 -326,8 +326,8 @@@ control what sequence of output is bein sequence depends on the \fBrandrepeat\fR setting. .TP .BI use_os_rand \fR=\fPbool - Fio can either use the random generator supplied by the OS to generator random - offsets, or it can use it's own internal generator (based on Tausworthe). + Fio can either use the random generator supplied by the OS to generate random + offsets, or it can use its own internal generator (based on Tausworthe). Default is to use the internal generator, which is often of better quality and faster. Default: false. .TP @@@ -359,7 -359,7 +359,7 @@@ because ZFS doesn't support it. Default .RE .TP .BI fadvise_hint \fR=\fPbool - Use of \fBposix_fadvise\fR\|(2) to advise the kernel what I/O patterns + Use \fBposix_fadvise\fR\|(2) to advise the kernel what I/O patterns are likely to be issued. Default: true. .TP .BI size \fR=\fPint @@@ -369,16 -369,8 +369,16 @@@ Unless \fBnrfiles\fR and \fBfilesize\f divided between the available files for the job. If not set, fio will use the full size of the given files or devices. If the files do not exist, size must be given. It is also possible to give size as a percentage between 1 and -100. If size=20% is given, fio will use 20% of the full size of the given files -or devices. +100. If size=20% is given, fio will use 20% of the full size of the given +files or devices. +.TP +.BI io_limit \fR=\fPint +Normally fio operates within the region set by \fBsize\fR, which means that +the \fBsize\fR option sets both the region and size of IO to be performed. +Sometimes that is not what you want. With this option, it is possible to +define just the amount of IO that fio should do. For instance, if \fBsize\fR +is set to 20G and \fBio_limit\fR is set to 5G, fio will perform IO within +the first 20G but exit when 5G have been done. .TP .BI fill_device \fR=\fPbool "\fR,\fB fill_fs" \fR=\fPbool Sets size to something really large and waits for ENOSPC (no space left on @@@ -443,7 -435,7 +443,7 @@@ blocksize settings, and any sequential blocksize setting. .TP .B zero_buffers - Initialise buffers with all zeros. Default: fill buffers with random data. + Initialize buffers with all zeros. Default: fill buffers with random data. The resulting IO buffers will not be completely zeroed, unless \fPscramble_buffers\fR is also turned off. .TP @@@ -475,8 -467,8 +475,8 @@@ the remaining zeroed. With this set to size, fio can alternate random and zeroed data throughout the IO buffer. .TP .BI buffer_pattern \fR=\fPstr - If set, fio will fill the io buffers with this pattern. If not set, the contents - of io buffers is defined by the other options related to buffer contents. The + If set, fio will fill the IO buffers with this pattern. If not set, the contents + of IO buffers is defined by the other options related to buffer contents. The setting can be any pattern of bytes, and can be prefixed with 0x for hex values. .TP @@@ -495,13 -487,13 +495,13 @@@ Defines how files to service are select Choose a file at random. .TP .B roundrobin - Round robin over open files (default). + Round robin over opened files (default). .TP .B sequential Do each file in the set sequentially. .RE .P - The number of I/Os to issue before switching a new file can be specified by + The number of I/Os to issue before switching to a new file can be specified by appending `:\fIint\fR' to the service type. .RE .TP @@@ -602,16 -594,6 +602,16 @@@ request to DDIR_WRITE even IO engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd without the need to use the kernel rbd driver. This ioengine defines engine specific options. +.TP +.B gfapi +Using Glusterfs libgfapi sync interface to direct access to Glusterfs volumes without +having to go through FUSE. This ioengine defines engine specific +options. +.TP +.B gfapi_async +Using Glusterfs libgfapi async interface to direct access to Glusterfs volumes without +having to go through FUSE. This ioengine defines engine specific +options. .RE .P .RE @@@ -619,7 -601,7 +619,7 @@@ .BI iodepth \fR=\fPint Number of I/O units to keep in flight against the file. Note that increasing iodepth beyond 1 will not affect synchronous ioengines (except for small - degress when verify_async is in use). Even async engines my impose OS + degress when verify_async is in use). Even async engines may impose OS restrictions causing the desired depth not to be achieved. This may happen on Linux when using libaio and not setting \fBdirect\fR=1, since buffered IO is not async on that OS. Keep an eye on the IO depth distribution in the @@@ -1244,6 -1226,14 +1244,6 @@@ Output is redirected in a file called \ .BI ioscheduler \fR=\fPstr Attempt to switch the device hosting the file to the specified I/O scheduler. .TP -.BI cpuload \fR=\fPint -If the job is a CPU cycle-eater, attempt to use the specified percentage of -CPU cycles. -.TP -.BI cpuchunks \fR=\fPint -If the job is a CPU cycle-eater, split the load into cycles of the -given time in milliseconds. -.TP .BI disk_util \fR=\fPbool Generate disk utilization statistics if the platform supports it. Default: true. .TP @@@ -1377,7 -1367,7 +1377,7 @@@ the observed latencies fell, respective .SS "Ioengine Parameters List" Some parameters are only valid when a specific ioengine is in use. These are used identically to normal parameters, with the caveat that when used on the - command line, the must come after the ioengine that defines them is selected. + command line, they must come after the ioengine. .TP .BI (cpu)cpuload \fR=\fPint Attempt to use the specified percentage of CPU cycles. @@@ -1385,9 -1375,6 +1385,9 @@@ .BI (cpu)cpuchunks \fR=\fPint Split the load into cycles of the given time. In microseconds. .TP +.BI (cpu)exit_on_io_done \fR=\fPbool +Detect when IO threads are done, then exit. +.TP .BI (libaio)userspace_reap Normally, with the libaio engine in use, fio will use the io_getevents system call to reap newly returned events. @@@ -1448,7 -1435,7 +1448,7 @@@ hostname must be omitted if this optio .TP .BI (net, pingpong) \fR=\fPbool Normally a network writer will just continue writing data, and a network reader - will just consume packages. If pingpong=1 is set, a writer will send its normal + will just consume packets. If pingpong=1 is set, a writer will send its normal payload to the reader, then wait for the reader to send the same payload back. This allows fio to measure network latencies. The submission and completion latencies then measure local time spent sending or receiving, and the