Re: Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




发自我的 iPhoned

在 2013-10-5,下午12:00,Jens Axboe <jaxboe@xxxxxxxxxxxx> 写道:

> The following changes since commit 3c568239a319087a965b06bc2ed94d058810100f:
> 
>  log: disable log, if realloc fails (2013-09-30 12:17:34 -0600)
> 
> are available in the git repository at:
>  git://git.kernel.dk/fio.git master
> 
> Jens Axboe (2):
>      Merge branch 'manpage' of https://github.com/sitsofe/fio
>      man page: correct typoe
> 
> Sitsofe Wheeler (7):
>      Update man page
>      Update man page
>      man page: Fix typos
>      man page: manpagify things that look like syscalls.
>      man page: fix broken formatting before OUTPUT section
>      man page: Bump up release date
>      howto: Fix redundant entries
> 
> HOWTO |    6 ---
> fio.1 |  142 +++++++++++++++++++++++++++++++++++++++++++---------------------
> 2 files changed, 95 insertions(+), 53 deletions(-)
> 
> ---
> 
> Diff of recent changes:
> 
> diff --git a/HOWTO b/HOWTO
> index ac6e258..eb2ed25 100644
> --- a/HOWTO
> +++ b/HOWTO
> @@ -1151,9 +1151,6 @@ verify_backlog=int    Fio will normally verify the written contents of a
>        holding this meta data. If this option is enabled, fio
>        will write only N blocks before verifying these blocks.
> 
> -        will verify the previously written blocks before continuing
> -        to write new ones.
> -
> verify_backlog_batch=int    Control how many blocks fio will verify
>        if verify_backlog is set. If not set, will default to
>        the value of verify_backlog (meaning the entire queue
> @@ -1252,9 +1249,6 @@ write_lat_log=str Same as write_bw_log, except that this option stores io
>        and foo_lat.log. This helps fio_generate_plot fine the logs
>        automatically.
> 
> -write_bw_log=str If given, write an IOPS log of the jobs in this job
> -        file. See write_bw_log.
> -
> write_iops_log=str Same as write_bw_log, but writes IOPS. If no filename is
>        given with this option, the default filename of
>        "jobname_type.log" is used. Even if the filename is given,
> diff --git a/fio.1 b/fio.1
> index 07e4a62..e910e01 100644
> --- a/fio.1
> +++ b/fio.1
> @@ -1,4 +1,4 @@
> -.TH fio 1 "September 2007" "User Manual"
> +.TH fio 1 "October 2013" "User Manual"
> .SH NAME
> fio \- flexible I/O tester
> .SH SYNOPSIS
> @@ -132,7 +132,7 @@ sets of ranges, they are separated with a `,' or `/' character. For example:
> .TP
> .I float_list
> List of floating numbers: A list of floating numbers, separated by
> -a ':' charcater.
> +a ':' character.
> .SS "Parameter List"
> .TP
> .BI name \fR=\fPstr
> @@ -219,12 +219,18 @@ Sequential reads.
> .B write
> Sequential writes.
> .TP
> +.B trim
> +Sequential trim (Linux block devices only).
> +.TP
> .B randread
> Random reads.
> .TP
> .B randwrite
> Random writes.
> .TP
> +.B randtrim
> +Random trim (Linux block devices only).
> +.TP
> .B rw, readwrite
> Mixed sequential reads and writes.
> .TP
> @@ -271,7 +277,7 @@ new offset.
> .BI kb_base \fR=\fPint
> The base unit for a kilobyte. The defacto base is 2^10, 1024.  Storage
> manufacturers like to use 10^3 or 1000 as a base ten unit instead, for obvious
> -reasons. Allow values are 1024 or 1000, with 1024 being the default.
> +reasons. Allowed values are 1024 or 1000, with 1024 being the default.
> .TP
> .BI unified_rw_reporting \fR=\fPbool
> Fio normally reports statistics on a per data direction basis, meaning that
> @@ -298,10 +304,10 @@ are:
> Do not pre-allocate space.
> .TP
> .B posix
> -Pre-allocate via posix_fallocate().
> +Pre-allocate via \fBposix_fallocate\fR\|(3).
> .TP
> .B keep
> -Pre-allocate via fallocate() with FALLOC_FL_KEEP_SIZE set.
> +Pre-allocate via \fBfallocate\fR\|(2) with FALLOC_FL_KEEP_SIZE set.
> .TP
> .B 0
> Backward-compatible alias for 'none'.
> @@ -316,7 +322,7 @@ because ZFS doesn't support it. Default: 'posix'.
> .RE
> .TP
> .BI fadvise_hint \fR=\fPbool
> -Use of \fIposix_fadvise\fR\|(2) to advise the kernel what I/O patterns
> +Use of \fBposix_fadvise\fR\|(2) to advise the kernel what I/O patterns
> are likely to be issued. Default: true.
> .TP
> .BI size \fR=\fPint
> @@ -324,7 +330,7 @@ Total size of I/O for this job.  \fBfio\fR will run until this many bytes have
> been transferred, unless limited by other options (\fBruntime\fR, for instance).
> Unless \fBnrfiles\fR and \fBfilesize\fR options are given, this amount will be
> 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 the files do not exist, size
> +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.
> @@ -427,10 +433,11 @@ Defines how files to service are selected.  The following types are defined:
> .RS
> .TP
> .B random
> -Choose a file at random
> +Choose a file at random.
> .TP
> .B roundrobin
> Round robin over open files (default).
> +.TP
> .B sequential
> Do each file in the set sequentially.
> .RE
> @@ -445,24 +452,24 @@ Defines how the job issues I/O.  The following types are defined:
> .RS
> .TP
> .B sync
> -Basic \fIread\fR\|(2) or \fIwrite\fR\|(2) I/O.  \fIfseek\fR\|(2) is used to
> +Basic \fBread\fR\|(2) or \fBwrite\fR\|(2) I/O.  \fBfseek\fR\|(2) is used to
> position the I/O location.
> .TP
> .B psync
> -Basic \fIpread\fR\|(2) or \fIpwrite\fR\|(2) I/O.
> +Basic \fBpread\fR\|(2) or \fBpwrite\fR\|(2) I/O.
> .TP
> .B vsync
> -Basic \fIreadv\fR\|(2) or \fIwritev\fR\|(2) I/O. Will emulate queuing by
> -coalescing adjacents IOs into a single submission.
> +Basic \fBreadv\fR\|(2) or \fBwritev\fR\|(2) I/O. Will emulate queuing by
> +coalescing adjacent IOs into a single submission.
> .TP
> .B pvsync
> -Basic \fIpreadv\fR\|(2) or \fIpwritev\fR\|(2) I/O.
> +Basic \fBpreadv\fR\|(2) or \fBpwritev\fR\|(2) I/O.
> .TP
> .B libaio
> Linux native asynchronous I/O. This ioengine defines engine specific options.
> .TP
> .B posixaio
> -POSIX asynchronous I/O using \fIaio_read\fR\|(3) and \fIaio_write\fR\|(3).
> +POSIX asynchronous I/O using \fBaio_read\fR\|(3) and \fBaio_write\fR\|(3).
> .TP
> .B solarisaio
> Solaris native asynchronous I/O.
> @@ -471,11 +478,11 @@ Solaris native asynchronous I/O.
> Windows native asynchronous I/O.
> .TP
> .B mmap
> -File is memory mapped with \fImmap\fR\|(2) and data copied using
> -\fImemcpy\fR\|(3).
> +File is memory mapped with \fBmmap\fR\|(2) and data copied using
> +\fBmemcpy\fR\|(3).
> .TP
> .B splice
> -\fIsplice\fR\|(2) is used to transfer the data and \fIvmsplice\fR\|(2) to
> +\fBsplice\fR\|(2) is used to transfer the data and \fBvmsplice\fR\|(2) to
> transfer data from user-space to the kernel.
> .TP
> .B syslet-rw
> @@ -483,8 +490,8 @@ Use the syslet system calls to make regular read/write asynchronous.
> .TP
> .B sg
> SCSI generic sg v3 I/O. May be either synchronous using the SG_IO ioctl, or if
> -the target is an sg character device, we use \fIread\fR\|(2) and
> -\fIwrite\fR\|(2) for asynchronous I/O.
> +the target is an sg character device, we use \fBread\fR\|(2) and
> +\fBwrite\fR\|(2) for asynchronous I/O.
> .TP
> .B null
> Doesn't transfer any data, just pretends to.  Mainly used to exercise \fBfio\fR
> @@ -497,7 +504,7 @@ Transfer over the network.  The protocol to be used can be defined with the
> This ioengine defines engine specific options.
> .TP
> .B netsplice
> -Like \fBnet\fR, but uses \fIsplice\fR\|(2) and \fIvmsplice\fR\|(2) to map data
> +Like \fBnet\fR, but uses \fBsplice\fR\|(2) and \fBvmsplice\fR\|(2) to map data
> and send/receive. This ioengine defines engine specific options.
> .TP
> .B cpuio
> @@ -506,7 +513,7 @@ Doesn't transfer any data, but burns CPU cycles according to \fBcpuload\fR and
> .TP
> .B guasi
> The GUASI I/O engine is the Generic Userspace Asynchronous Syscall Interface
> -approach to asycnronous I/O.
> +approach to asynchronous I/O.
> .br
> See <http://www.xmailserver.org/guasi\-lib.html>.
> .TP
> @@ -519,7 +526,7 @@ Loads an external I/O engine object file.  Append the engine filename as
> `:\fIenginepath\fR'.
> .TP
> .B falloc
> -   IO engine that does regular linux native fallocate callt to simulate data
> +   IO engine that does regular linux native fallocate call to simulate data
> transfer as fio ioengine
> .br
>   DDIR_READ  does fallocate(,mode = FALLOC_FL_KEEP_SIZE,)
> @@ -591,9 +598,12 @@ How many I/Os to perform before issuing an \fBfsync\fR\|(2) of dirty data.  If
> Like \fBfsync\fR, but uses \fBfdatasync\fR\|(2) instead to only sync the
> data parts of the file. Default: 0.
> .TP
> +.BI write_barrier \fR=\fPint
> +Make every Nth write a barrier write.
> +.TP
> .BI sync_file_range \fR=\fPstr:int
> -Use sync_file_range() for every \fRval\fP number of write operations. Fio will
> -track range of writes that have happened since the last sync_file_range() call.
> +Use \fBsync_file_range\fR\|(2) for every \fRval\fP number of write operations. Fio will
> +track range of writes that have happened since the last \fBsync_file_range\fR\|(2) call.
> \fRstr\fP can currently be one or more of:
> .RS
> .TP
> @@ -610,7 +620,7 @@ SYNC_FILE_RANGE_WRITE
> .P
> So if you do sync_file_range=wait_before,write:8, fio would use
> \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP for every 8 writes.
> -Also see the sync_file_range(2) man page.  This option is Linux specific.
> +Also see the \fBsync_file_range\fR\|(2) man page.  This option is Linux specific.
> .TP
> .BI overwrite \fR=\fPbool
> If writing, setup the file first and do overwrites.  Default: false.
> @@ -697,14 +707,14 @@ sizes, not with workloads that use multiple block sizes. If used with such a
> workload, fio may read or write some blocks multiple times.
> .TP
> .BI nice \fR=\fPint
> -Run job with given nice value.  See \fInice\fR\|(2).
> +Run job with given nice value.  See \fBnice\fR\|(2).
> .TP
> .BI prio \fR=\fPint
> Set I/O priority value of this job between 0 (highest) and 7 (lowest).  See
> -\fIionice\fR\|(1).
> +\fBionice\fR\|(1).
> .TP
> .BI prioclass \fR=\fPint
> -Set I/O priority class.  See \fIionice\fR\|(1).
> +Set I/O priority class.  See \fBionice\fR\|(1).
> .TP
> .BI thinktime \fR=\fPint
> Stall job for given number of microseconds between issuing I/Os.
> @@ -761,12 +771,12 @@ may run on.  See \fBsched_setaffinity\fR\|(2).
> Same as \fBcpumask\fR, but allows a comma-delimited list of CPU numbers.
> .TP
> .BI numa_cpu_nodes \fR=\fPstr
> -Set this job running on spcified NUMA nodes' CPUs. The arguments allow
> +Set this job running on specified NUMA nodes' CPUs. The arguments allow
> comma delimited list of cpu numbers, A-B ranges, or 'all'.
> .TP
> .BI numa_mem_policy \fR=\fPstr
> Set this job's memory policy and corresponding NUMA nodes. Format of
> -the argements:
> +the arguments:
> .RS
> .TP
> .B <mode>[:<nodelist>]
> @@ -813,16 +823,16 @@ Allocation method for I/O unit buffer.  Allowed values are:
> .RS
> .TP
> .B malloc
> -Allocate memory with \fImalloc\fR\|(3).
> +Allocate memory with \fBmalloc\fR\|(3).
> .TP
> .B shm
> -Use shared memory buffers allocated through \fIshmget\fR\|(2).
> +Use shared memory buffers allocated through \fBshmget\fR\|(2).
> .TP
> .B shmhuge
> Same as \fBshm\fR, but use huge pages as backing.
> .TP
> .B mmap
> -Use \fImmap\fR\|(2) for allocation.  Uses anonymous memory unless a filename
> +Use \fBmmap\fR\|(2) for allocation.  Uses anonymous memory unless a filename
> is given after the option in the format `:\fIfile\fR'.
> .TP
> .B mmaphuge
> @@ -840,7 +850,7 @@ use.
> .RE
> .TP
> .BI iomem_align \fR=\fPint "\fR,\fP mem_align" \fR=\fPint
> -This indiciates the memory alignment of the IO memory buffers. Note that the
> +This indicates the memory alignment of the IO memory buffers. Note that the
> given alignment is applied to the first IO unit buffer, if using \fBiodepth\fR
> the alignment of the following buffers are given by the \fBbs\fR used. In
> other words, if using a \fBbs\fR that is a multiple of the page sized in the
> @@ -867,7 +877,7 @@ Average IOPS calculations over the given time in milliseconds.  Default:
> If true, serialize file creation for the jobs.  Default: true.
> .TP
> .BI create_fsync \fR=\fPbool
> -\fIfsync\fR\|(2) data file after creation.  Default: true.
> +\fBfsync\fR\|(2) data file after creation.  Default: true.
> .TP
> .BI create_on_open \fR=\fPbool
> If true, the files are not created until they are opened for IO by the job.
> @@ -921,10 +931,13 @@ written file. If the data direction includes any form of write, the verify will
> be of the newly written data.
> .RE
> .TP
> -.BI verify_sort \fR=\fPbool
> +.BI verifysort \fR=\fPbool
> If true, written verify blocks are sorted if \fBfio\fR deems it to be faster to
> read them back in a sorted manner.  Default: true.
> .TP
> +.BI verifysort_nr \fR=\fPint
> +Pre-load and sort verify blocks for a read workload.
> +.TP
> .BI verify_offset \fR=\fPint
> Swap the verification header with data somewhere else in the block before
> writing.  It is swapped back before verifying.
> @@ -980,6 +993,21 @@ read back and verified).  If \fBverify_backlog_batch\fR is less than
> \fBverify_backlog_batch\fR is larger than \fBverify_backlog\fR,  some blocks
> will be verified more than once.
> .TP
> +.BI trim_percentage \fR=\fPint
> +Number of verify blocks to discard/trim.
> +.TP
> +.BI trim_verify_zero \fR=\fPbool
> +Verify that trim/discarded blocks are returned as zeroes.
> +.TP
> +.BI trim_backlog \fR=\fPint
> +Trim after this number of blocks are written.
> +.TP
> +.BI trim_backlog_batch \fR=\fPint
> +Trim this number of IO blocks.
> +.TP
> +.BI experimental_verify \fR=\fPbool
> +Enable experimental verification.
> +.TP
> .B stonewall "\fR,\fP wait_for_previous"
> Wait for preceding jobs in the job file to exit before starting this one.
> \fBstonewall\fR implies \fBnew_group\fR.
> @@ -1003,6 +1031,9 @@ with \fBfork\fR\|(2).
> .BI zonesize \fR=\fPint
> Divide file into zones of the specified size in bytes.  See \fBzoneskip\fR.
> .TP
> +.BI zonerange \fR=\fPint
> +Give size of an IO zone.  See \fBzoneskip\fR.
> +.TP
> .BI zoneskip \fR=\fPint
> Skip the specified number of bytes when \fBzonesize\fR bytes of data have been
> read.
> @@ -1032,7 +1063,7 @@ single specified device regardless of the device it was recorded from.
> If given, write a bandwidth log of the jobs in this job file. Can be used to
> store data of the bandwidth of the jobs in their lifetime. The included
> fio_generate_plots script uses gnuplot to turn these text files into nice
> -graphs. See \fBwrite_log_log\fR for behaviour of given filename. For this
> +graphs. See \fBwrite_lat_log\fR for behaviour of given filename. For this
> option, the postfix is _bw.log.
> .TP
> .BI write_lat_log \fR=\fPstr
> @@ -1054,7 +1085,7 @@ Defaults to 0.
> .TP
> .BI disable_lat \fR=\fPbool
> Disable measurements of total latency numbers. Useful only for cutting
> -back the number of calls to gettimeofday, as that does impact performance at
> +back the number of calls to \fBgettimeofday\fR\|(2), as that does impact performance at
> really high IOPS rates.  Note that to really get rid of a large amount of these
> calls, this option must be used with disable_slat and disable_bw as well.
> .TP
> @@ -1102,10 +1133,10 @@ Use the given clocksource as the base of timing. The supported options are:
> .RS
> .TP
> .B gettimeofday
> -gettimeofday(2)
> +\fBgettimeofday\fR\|(2)
> .TP
> .B clock_gettime
> -clock_gettime(2)
> +\fBclock_gettime\fR\|(2)
> .TP
> .B cpu
> Internal CPU clock source
> @@ -1119,18 +1150,18 @@ unless another clocksource is specifically set. For x86/x86-64 CPUs, this
> means supporting TSC Invariant.
> .TP
> .BI gtod_reduce \fR=\fPbool
> -Enable all of the gettimeofday() reducing options (disable_clat, disable_slat,
> +Enable all of the \fBgettimeofday\fR\|(2) reducing options (disable_clat, disable_slat,
> disable_bw) plus reduce precision of the timeout somewhat to really shrink the
> -gettimeofday() call count. With this option enabled, we only do about 0.4% of
> +\fBgettimeofday\fR\|(2) call count. With this option enabled, we only do about 0.4% of
> the gtod() calls we would have done if all time keeping was enabled.
> .TP
> .BI gtod_cpu \fR=\fPint
> Sometimes it's cheaper to dedicate a single thread of execution to just getting
> the current time. Fio (and databases, for instance) are very intensive on
> -gettimeofday() calls. With this option, you can set one CPU aside for doing
> +\fBgettimeofday\fR\|(2) calls. With this option, you can set one CPU aside for doing
> nothing but logging current time to a shared memory location. Then the other
> threads/processes that run IO workloads need only copy that segment, instead of
> -entering the kernel with a gettimeofday() call. The CPU set aside for doing
> +entering the kernel with a \fBgettimeofday\fR\|(2) call. The CPU set aside for doing
> these time calls will be excluded from other uses. Fio will manually clear it
> from the CPU mask of other jobs.
> .TP
> @@ -1151,6 +1182,9 @@ This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE.
> If set dump every error even if it is non fatal, true by default. If disabled
> only fatal error will be dumped
> .TP
> +.BI profile \fR=\fPstr
> +Select a specific builtin performance test.
> +.TP
> .BI cgroup \fR=\fPstr
> Add job to this control group. If it doesn't exist, it will be created.
> The system must have a mounted cgroup blkio mount point for this to work. If
> @@ -1175,6 +1209,21 @@ the thread/process does any work.
> .BI gid \fR=\fPint
> Set group ID, see \fBuid\fR.
> .TP
> +.BI unit_base \fR=\fPint
> +Base unit for reporting.  Allowed values are:
> +.RS
> +.TP
> +.B 0
> +Use auto-detection (default).
> +.TP
> +.B 8
> +Byte based.
> +.TP
> +.B 1
> +Bit based.
> +.RE
> +.P
> +.TP
> .BI flow_id \fR=\fPint
> The ID of the flow. If not specified, it defaults to being a global flow. See
> \fBflow\fR.
> @@ -1270,7 +1319,7 @@ connections rather than initiating an outgoing connection. The
> hostname must be omitted if this option is used.
> .TP
> .BI (net, pingpong) \fR=\fPbool
> -Normaly a network writer will just continue writing data, and a network reader
> +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
> 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
> @@ -1289,9 +1338,8 @@ Configure donor file block allocation strategy
> Preallocate donor's file on init
> .TP
> .BI 1:
> -allocate space immidietly inside defragment event, and free right after event
> +allocate space immediately inside defragment event, and free right after event
> .RE
> -.TP
> .SH OUTPUT
> While running, \fBfio\fR will display the status of the created jobs.  For
> example:
> --
> To unsubscribe from this list: send the line "unsubscribe fio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux