History log of /external/fio/options.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
435228488ffd062f4eac710aaa862e04cd20dfee 01-May-2014 Daniel Gollub <daniel.gollub@gmail.com> Avoid buildenv conditional in thread_option struct

Managed to run into issues with an external ioengine
which got build with CONFIG_LIBNUMA not defined. Fio
itself got build with CONFIG_LIBNUMA this resulted
in different struct members offsets in the two different
ELF objects. Causing crashes due to invalidate offsets
inside the thread_data structure (e.g. td->io_ops->data).

Ideally all structs which might be used by external
ioengines should be independent of buildenv conditionals
like CONFIG_LIBNUMA or others.

Removed the CONFIG_LIBNUMA in thread_options.h and replaced
the libnuma specific "struct bitmask" members with strings
which hold the option's input value. This should also make
the marshaling/demarshaling in cconv.c easier.
(Note: the NUMA bits are not handled in cconv.c at the
moment. And not part of the thread_options_packed struct)

Signed-off-by: Daniel Gollub <daniel.gollub@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
77731b29c35286a43ca6109ebf13389169ec20e9 28-Apr-2014 Jens Axboe <axboe@fb.com> Add option for io_limit

'size' denotes both the size of the region for IO, as well as the
amount of IO to transfer. Sometimes it's useful to be able to set
them separately instead. With this patch, you can do:

size=100G
io_limit=10G

and have fio do 10G of IO between 0..100G of the address space.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
1616e02595f4496747bec5a68ae5042d6460323a 14-Apr-2014 Jens Axboe <axboe@fb.com> Fix missing sign conversion in ignore_error_type()

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
1d824f370d9e7fb9fc5aa23bc847c31c8467367a 11-Apr-2014 Jens Axboe <axboe@fb.com> Fix leak of file descriptor in error path of bc_calc()

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
27ca949f9d210721c4ca7662c3fe32b62f96271a 11-Apr-2014 Jens Axboe <axboe@fb.com> Fix leak of string when doing parse dryrun

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
c7b086bed6ae4acc4c6bc9bfb2b6c6daeec686a3 11-Apr-2014 Jens Axboe <axboe@fb.com> Fix leak of 'error' if we don't assign it

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
bedc9dc24223bb33be4120f4a57718bc54888ca5 17-Mar-2014 Jens Axboe <axboe@fb.com> Add support for file appends

Add option file_append (bool). If set, fio will append to a file
instead of operate within the size of it. This is similar to
setting offset= to the size of each file.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
50b5860bcdc7dfb448c98c913203184e339756d7 01-Mar-2014 Jens Axboe <axboe@fb.com> cpus_allowed_policy fixups

- Make 'split' roundrobin the CPUs, if we have more threads
than CPUs in the set.

- Properly use a CPU index, don't assume a sequential set of
CPUs.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
c2acfbac7e9eb8ac5407ac024c0fd000614c77e2 28-Feb-2014 Jens Axboe <axboe@fb.com> Add support for cpus_allowed_policy

Two policies are supported:

shared cpumask is shared between all threads. This is the original
behavior.

split cpumask is split between threads, each thread gets a unique
CPU.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
5903e7b7907854014478b6febfc5645a203ff59e 26-Feb-2014 Jens Axboe <axboe@fb.com> blktrace: load improvements

- Set the state explicitly to SETTING_UP when loading the
traces. This could take a while, so tell the status thread
that we are setting up so it knows how to display us
correctly.

- Fix a bug with multiple devices where we didn't cache the
major/minor properly. This made blktrace spend tons of CPU
cycles looking up /sys.

- Handle multiple devices correctly when adding files.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
cb1402d674fb7694d1b09d7ef4aeb3d4506f23f0 25-Feb-2014 Jens Axboe <axboe@fb.com> Ensure that fio_get_kb_base() doesn't assume 'data' is thread_options

Nasty hack, but at least we don't corrupt option data.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
0de5b26f6e177aacac0683306c47e0cbaf58b0b6 22-Feb-2014 Jens Axboe <axboe@fb.com> Unify the time handling

Some options are in seconds, if no units are given. These include
runtime/timeout, startdelay, and ramp_time. Handle this
appropriately. Internally it should all be microseconds now, it's
just the conversion factor.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
a869d9c6496c63def848b798e41d2ba48dca0ba5 20-Feb-2014 Jens Axboe <axboe@fb.com> Add option group/category to allrandrepeat

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
844ea60273f4e7862150d9c6430cdb15768e2f34 20-Feb-2014 Jens Axboe <axboe@fb.com> Add support for the Google xxhash checksumming function

It's a lot faster than the other software defined ones, so will
be a useful alternative for the cases where crc32c-intel isn't
available.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
e7f5de90cbc0b51d4300a9fc0d080275b2730a32 20-Feb-2014 Peter Oberparleiter <oberpar@linux.vnet.ibm.com> fio: allow 0 as compress percentage

Allow 0 as value for option compress_percentage which can be useful for
certain deduplication and compression based storage back ends.

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
bcbfeefa7bce8383cf85fe59ced91f54821dfbd2 20-Feb-2014 Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> fio: add multi directory support

This patch adds support for ':' seperated multiple directories at the
directory config statement in order to achieve an automatic distribution
of job clones (numjob) across directories.

That way people can distribute a load across these directories (usually
mount points of disks) automatically - changing numjob will be
sufficient to get all job clones evenly (optimal if dirs % numjobs = 0,
otherwise as good as possible) distributed at all times.

To avoid confused users old config Files will behave like they always
did, old fio binaries using new config files won't abort but just use
the first specified dir. If one specifies an explcit (non generated)
filename the distribution to many directories is also deactivated.

It also fixes an issue of events seeming out of order like when running
with --debug=file seeing the "..." message meaning "I created the
clones" prior to the last clone activities. Now the clones are called
with index N-1 .. 1, zero being the base thread as before.

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
23ed19b0e10749dca2389511f78d89db886c064a 20-Feb-2014 Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> fio: provide an option for a startdelay range

This patch allows the specification of start delay as range. With a
range each thread will chose an individual startdelay out of the range.

That solves an issue of startdelay being the same for each numjob clone
and that way spreads all kind of activities e.g. that all clones with
mixed r/w jobs switch r/w at the same time. Also all kind of other
"thundering herd" issues can be softened by some time spread due to this
option.

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
56e2a5fc76067c91738f7eb0efbd6ec6d349e0f2 20-Feb-2014 Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> fio: allow general repeatability

This patch adds a "allrandrepeat" option similar to the existing
randrepeat. But other than the former option it does not only affect
the random I/O pattern, but also all remaining users of randomness as
well.

By that e.g. testcases using nrfiles, filesize ranges, blocksizesplit
ranges and so on will stay repeatable across (euqally parametrized) runs
as well. To maintain compatibility the default is off.

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>

Update by me to fix missing thread_options.h and cconv.c change.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
fc5c03455598ecb3250506e741c74bade0dae6d8 17-Feb-2014 Daniel Gollub <d.gollub@telekom.de> librbd ioengine support

Initially only DDIR_WRITE/DDIR_READ and DDIR_SYNC are supported.
All other io_u->ddir get silently ignored.

A known issue requires to call the rbd engine always with --invalidate=0

Signed-off-by: Daniel Gollub <d.gollub@telekom.de>
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
ebadc0ce34c11b3e0130d5602b18f4ed0e638386 12-Feb-2014 Daniel Gollub <daniel.gollub@t-online.de> Make parse.h C++ safe by avoiding "or" keyword

Fixes for g++ (4.7.2) following compiler errors when fio.h
gets included (e.g. in an external C++ ioengine):

--8<---
[...]
parse.h:31:6: error: expected unqualified-id before ‘or’ token
[...]
--->8---

Signed-off-by: Daniel Gollub <d.gollub@telekom.de>

Updated by me to apply to recent version, and fix gfio usage
of ->or as well.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
f0fdbcafc3a62b84250e5ccdcaec47e3ffa93a00 11-Feb-2014 Jens Axboe <axboe@fb.com> parse: cleanup difference between profile and normal options

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
7b504eddc4b039f2db3a0626bd08f880c5f4de27 11-Feb-2014 Jens Axboe <axboe@fb.com> parse: get rid of raw option offsets

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
f2a2803a4982a1516eb75d9f98de68cf21d1ae7d 11-Feb-2014 Jens Axboe <axboe@fb.com> Enfore that lockfile= must precede filename=

The way fio parses options, we need to have the file locking
defined before we start adding files. Normally we can handle
this with option priorities, but that doesn't work across
job section boundaries. So catch this case and error out,
otherwise fio will segfault when it attempts to unlock files
at the end of a job.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
bc6a0a5d5625b13bb9630bcdcf9d4041b1639a94 07-Feb-2014 Jens Axboe <axboe@fb.com> Prioritize lockfile= option

This needs to be run before adding files, or we'll potentially
make a mess of things.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/options.c
363cffa71a96eb4c7595bb8c325a09eb01f766a5 28-Jan-2014 Grant Grundler <grundler@chromium.org> fio: consolidate rand_seed to uint64_t

csscope showed rand_seed was defined 4 times - each a different type.
While they are used differently, the places where they overlap
should reference the same type. This patch makes three of them the same
as suggested by Jens Axboe.

Signed-off-by: Grant Grundler <grundler@chromium.org>

Updated by me to change rand_seed option to unsigned long long
and changes related to that.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
621677626f2551bedfdc4a5fc3b3e5f8492b94fa 17-Sep-2013 Juan Casse <jcasse@chromium.org> Adds verify_only option

When this option is set, a dry run (no actual io is performed) of the
workload will be done in order to compute the numberio for each block
header without overwriting the data on disk. Then, do_verify() will be
effectively verifying data that was written in a previous fio run.
In the case that "loops" is set to more than 1, do_verify() will delay
the verification of numberio to the last iteration when the same
numberio state that would have been written to disk in a previous
fio run has been reached.

Signed-off-by: Juan Casse <jcasse@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
ce35b1ece06ce27ebff111e47c2a6610c311a92b 14-Jan-2014 Jens Axboe <axboe@kernel.dk> Add option for specifically setting buffer contents

Fio can use zeroes, slightly scrambled data, full random data,
or specifically compressible data. With this option, the user
can now fully control the pattern written, similarly to how
verify_pattern works for verify=meta.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
04778baf2def8c1c5a3d7d60233c56d140831711 11-Jan-2014 Jens Axboe <axboe@kernel.dk> Add option to manually seed the random generators

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
3e260a46ea9a8de224c3d0a29a608da3440f284a 09-Dec-2013 Jens Axboe <axboe@kernel.dk> Add options to have fio latency profile a device

This adds three new options:

- latency_target. This defines a specific latency target, in usec.
- latency_window. This defines the period over which fio samples.
- latency_percentile. This defines the percentage of IOs that must
meet the criteria specified by latency_target/latency_window.

With these options set, fio will run the described workload and
vary the queue depth between 1 and iodepth= to find the best
performing spot that meets the criteria specified by the three
options.

A sample job file is also added to demonstrate how to use this.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
292cc475b1f26ae4c94c3028fc33dee96b22655b 27-Nov-2013 Jens Axboe <axboe@kernel.dk> init: escape description option string

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
ff52be3d9ff93cc5e823a75c41d48f62f842feb8 27-Nov-2013 Jens Axboe <axboe@kernel.dk> init: allow FIO_OPT_STR_SET options to have an optional argument

Makes them work like a bool.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d01612f3ae2515eb035d0c4ce954d8cb167a0a61 15-Nov-2013 Chris Mason <chris.mason@fusionio.com> Add support for O_ATOMIC

O_ATOMIC makes writes atomic, meaning that they are fully stable
on media (in the event of a power cut) when acknowledged by the
device and OS.

This only truly works on Linux with the pending patches to
add O_ATOMIC.

Updated by Jens to:

- Add man page and HOWTO description of the option
- Make O_ATOMIC imply O_DIRECT, so that it actually works if you
don't set O_DIRECT manually.
- Add the option to the conversion list so it works for
client/server.
- Error handling so that if atomic=1 is set and the OS does not
support it, error out instead of just pretending it works.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
8a96c80eae18a3594a43cadd82a5807fd2f340cd 09-Oct-2013 Akinobu Mita <akinobu.mita@gmail.com> make ioengine specific command line options work

If the ioengine specific parameter is given on the command line,
unrelated value in thread_data.o will be corrupted unexpectedly.
Specifically, if libaio specific parameter userspace_reap is given
on the command line, thread_data.o.description will be set to 1.

This fixes it by passing the correct pointer of ioengine specific
options to the command line parser.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d8b97c8e2d9a1d93ed7d90e6695bc36dbec91173 08-Oct-2013 Hong Zhiguo <zhiguohong@tencent.com> fix crash: free of wrong pointer in bssplit_ddir

I got SIGABRT when I passed "bssplit=4k/10:64k/50:/40" to fio.
It should be "bssplit=4k/10:64k/50:32k/40" but I missed "32k" in
my typing. The bug turns out to be another typo just like mine:)

*** glibc detected *** /viki/lkml/fio/fio: free(): invalid pointer:
0x000000000071fd30 ***
======= Backtrace: =========
/lib/libc.so.6(+0x78bb6)[0x7ffff700cbb6]
/lib/libc.so.6(cfree+0x73)[0x7ffff7013483]
/viki/lkml/fio/fio[0x42c108]
/viki/lkml/fio/fio[0x42c475]
/viki/lkml/fio/fio[0x429194]
/viki/lkml/fio/fio[0x42a888]
/viki/lkml/fio/fio(parse_option+0x101)[0x42ac47]
/viki/lkml/fio/fio(fio_options_parse+0x95)[0x42e5b3]
/viki/lkml/fio/fio(parse_jobs_ini+0x3ae)[0x4103ae]
/viki/lkml/fio/fio(parse_options+0x112)[0x41198a]
/viki/lkml/fio/fio(main+0x3b)[0x460f5b]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7ffff6fb2c4d]
/viki/lkml/fio/fio[0x40a7c9]

Signed-off-by: Hong Zhiguo <zhiguohong@tencent.com>
Tested-by: Hong Zhiguo <zhiguohong@tencent.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
52c0cea392321740cba72f65b9cf5d2102658edf 06-Sep-2013 Jens Axboe <axboe@kernel.dk> Catch more places where the callback should just return on parse/check

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
f9633d729f0d2067c3f79b5e82e7129de1e650cd 06-Sep-2013 Jens Axboe <axboe@kernel.dk> Fix problem with --showcmd and callbacks that verify

David reports:

I'm using "fio --showcmd file.job" to convert a script to plain
commandline arguments and this fails if the directory specified in job
file does not exist. While this has to be an error if the job is being
executed, it should not be in context of --showcmd.

To reproduce:
$ cat job.fio
[global]
directory=/x

$ fio --showcmd job.fio
fio: /x is not a directory
fio: failed parsing directory=/x
fio: job global dropped

Expected output:
fio --directory=/x

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
ddf24e42b5f801e6a66f8976c97edcb88080ecdf 09-Aug-2013 Jens Axboe <axboe@kernel.dk> Add number_ios= option

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
6aca9b3d1042bef94958ebee0656755a91695f4b 25-Jul-2013 Jens Axboe <axboe@kernel.dk> Add support for bs_is_seq_rand

This option will switch the meaning of the read,write part of any
blocksize setting to mean sequential,random instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d94722713ebd7bbdbf8b284b7563f2dd17964e24 25-Jul-2013 Jens Axboe <axboe@kernel.dk> Add support for randomness of any IO direction

sequential_random used to be applied to all of the IO
directions, with no possibility of having different settings
for reads, writes, and trims. Now it supports setting each of
them individually.

By default, if you do:

sequential_random=50

it will still apply to all three. If you do:

sequential_random=10,90,80

you would get reads 10% random, writes 90% random, and trims
80% random.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
0fddbf7a07fa4d6501e7a2fcf2b058325affba57 22-Jul-2013 Erwan Velu <erwan@enovance.com> core: Don't leak memory if error is unknown

If error is unknown, the "return 1" call was not freeing error which was
malloced at the beginning of the function.
/external/fio/options.c
05d6f44b81aa0ec628048004718eaa9d71816b54 18-Jul-2013 Jens Axboe <axboe@kernel.dk> Fix warning with newer gcc in str_numa_mpol_cb()

GCC complains about potentially accessing the array beyond
the end. Ensure that we include a NULL at the end.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
577c83bd488cf3e92d4ccffd39659248bce8ccd3 29-May-2013 Jens Axboe <axboe@kernel.dk> Fix bad merge of write_iops_log= option for fio 2.1

We need to store the string.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d2507043dbe51b657f25a0149c1f64a794e18b47 23-May-2013 Jens Axboe <axboe@kernel.dk> Make group_reporting be a string-set option again

Otherwise it'll break job files between 2.1 and 2.0.x and earlier.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
07fc0acd46e024b4df7ac60a3424fa1434a84600 16-May-2013 Jens Axboe <axboe@kernel.dk> sync engine: add support for pwritev/preadv

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
5971116e9e3714d830dcb4bebf7b10e3803cbefd 26-Apr-2013 Jens Axboe <axboe@kernel.dk> Get rid of td->o.perc_seq

No point in tracking both perc_seq and perc_rand, when we know
that perc_seq + perc_rand == 100.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
211c9b8948b43ed47aedf1227e0444a58db015e4 26-Apr-2013 Jens Axboe <axboe@kernel.dk> Add support for modifying the randomness of a workload

Fio supports random or sequential IO, or random IO with a number of
sequential IOs in between. The percentage_random options allows
more fine grained control over this. It defaults to 100, which would
make any random workload still purely random. If set below 100,
there will be some percentage of sequential IOs. This happens randomly,
but at the specified percentages.

The percentage_sequential option is just the complement of that, it
is guaranteed that:

percentage_sequential + percentage_random == 100%

The later setting has priority, each will adjust the other.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e078de4a1c4e27f1938db4656e4d7cb6f98a8e1c 25-Apr-2013 Jens Axboe <axboe@kernel.dk> Fix filling verify pattern for byte sizes of 3, 5, 7, ...

If we can't double up to the max pattern size, we leave unfilled
space. This causes verification failures. Fix this by properly
filling up to the max.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
a4ed0430e4c58291c291dee1e0459fa67893e185 13-Apr-2013 Jens Axboe <axboe@kernel.dk> Revert change that set group_reporting to 1

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
b7f487cf80a8299a656df9c2214ff73e72956d71 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
engines/libaio.c
engines/net.c
iolog.h
options.c
options.h
parse.c
parse.h
thread_options.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
e90a0adf85f75a65c02b22ba3766dff0d9d82ae6 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Categorize engine and profile options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
81c6b6cdd2f696528c423ff940a06efae8def583 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Unify options with gfio

Add the parser features and unify the option table.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
6be54b2d463b63e9e220ad1a9c8955ca3c8dbe71 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Add group/category to numa/mem node options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
93bb626a837f09fbdefe532bfe3d97d866fc1726 10-Apr-2013 Jens Axboe <axboe@kernel.dk> gfio: add option group/category to filename_format

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
ba9c7219eefcc04e84a4fb4970f4b5caeaf48aa6 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
options.c
parse.c
server.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
75ee6cf765979f1651d7c01d652cac9dbe79e8b9 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Convert unit_base to posval[]

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
5afda955b4dbdc9938655ad5cb843191d5828226 09-Apr-2013 Jens Axboe <axboe@kernel.dk> options: make unit_base be posval[] based

We can kill the verifier and ensure we only get the
possible values we need.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
71a082583c93a7767d1bb331138990282dfdc01d 09-Apr-2013 Jens Axboe <axboe@kernel.dk> options: make unit_base be posval[] based

We can kill the verifier and ensure we only get the
possible values we need.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
cf3a0518329fc341427fb9d81de5d7cb7cdd372c 09-Apr-2013 Jens Axboe <axboe@kernel.dk> gfio: update new options for gfio opt format

And fix gclient.c updates for num2str().

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
22f80458a520d0c5371c64bf91d24cdd21dff825 09-Apr-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
eta.c
fio.h
init.c
options.c
stat.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
ad705bcb7e79a7cdb9891db17b4c40b13b6c30c3 09-Apr-2013 Steven Noonan <steven@uplinklabs.net> implement 'unit_base' option to select between KB and Kbit et. al.

With network testing, it's often desirable to measure in terms of
kilobits/megabits rather than kilobytes/megabytes. This adds an option named
'unit_base' which can be set to either '1' or '8', where '1' means represent in
terms of bits and '8' means to represent rate in terms of bytes.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
de98bd30b02bd89a78059d162b2c8426e889703d 05-Apr-2013 Jens Axboe <axboe@kernel.dk> Add filename_format option

Allows the user to set how fio should generate the file names
used by jobs. The default is $jobname.$jobnumber.$filenumber
as it always has been, but now it's configurable as well. See
the included documentation.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d7213923067aa49922962a469a691c3ec951064d 21-Mar-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
fio.h
options.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
d7df1d133b0c3daad4ae4c731e0dae7b0181fd62 21-Mar-2013 Jens Axboe <axboe@kernel.dk> Rework lockfile= file lock handling

Get rid of the hand rolled rw semaphores, just use pthread
rwlocks instead. Kill the batching too, it was broken by
default, so nobody could have been using it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
9db01ef976006c002b05fa4e4ec589eb029aac5b 07-Feb-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
configure
fio.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
435d195a9da120c5a618129cdb73418f4748c20a 06-Feb-2013 Vincent Kang Fu <VFu@fusionio.com> Handle percentile lists with higher precision that 2 digits

We cap the output at %2.2f right now, that's not always enough.
Make the parser check and store the precision required to
output the list correctly.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
90b7a96d9573a14f20470af2aa0dd4e60611a477 04-Feb-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
fio.h
parse.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fd112d34a2cfdc2d9efcd394e38b6d87b357c23d 02-Feb-2013 Vincent Kang Fu <VFu@fusionio.com> Fix percentile_list option

Commit 802ad4a8 broke the parsing of the percentile list,
by neglecting to change the parser type fo a fio_fp64_t.

Also get rid of the def_percentile_list, just set the
default percentile list as the option default.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
95820b6e6c92025df8d89c0bf39b174e53137c41 31-Jan-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
client.c
configure
fio.c
fio.h
server.c
server.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
771e58befea806d2d881953050c4e65329eee382 30-Jan-2013 Jens Axboe <axboe@kernel.dk> Add unified_rw_reporting option

If this is set, then fio will sum and display just a single set
of statistics for any IO type. By default, fio accounts and reports
each data direction separately.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
135be493d843d4cae2966a35cbd22a3058ec8e4b 29-Jan-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
configure
options.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
4700b23465687c7d3de7820341fa96e506e967b2 24-Jan-2013 Jens Axboe <axboe@kernel.dk> configure: solaris and windowsaio fixups

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
b31eaac94fccfebc855513301f6177248fcf8678 24-Jan-2013 Jens Axboe <axboe@kernel.dk> options: add help to experimental_verify

Option help is required...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
997843cbd55f34f7f48f2ebc108500d97e37474c 24-Jan-2013 Jens Axboe <axboe@kernel.dk> configure: fix more old FIO_HAVE_ checks

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
97ac992c99d89eed8cdf9249bb038ac4d7b709b9 24-Jan-2013 Jens Axboe <axboe@kernel.dk> Correct ifdef checks for posix and linux fallocate

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
836fcc0fceb233ebcc41ee63b4ea5cae20b678a4 24-Jan-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
backend.c
client.c
fio.c
fio.h
ioengine.h
options.c
os/os-linux.h
server.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
51aa2da8cf422a06ddfa1ce673f3bfc03f96b86e 21-Jan-2013 Jens Axboe <axboe@kernel.dk> Add generic hweight helpers

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d9759b1e4081cc45b958d8ffd06607260cb5557e 17-Jan-2013 Shaohua Li <ShLi@fusionio.com> Make hugetlbfs maping work

If it's a file mapping, flags must be MAP_HARED; If it's an anonymous
mapping, flags must be MAP_PRIVATE|MAP_ANONYMOUS|MAP_HUGETLB (can be
shared, but doesn't matter here).

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
1ae83d45ed853cd73b95b89ae14cacac5b97187e 12-Jan-2013 Jens Axboe <axboe@kernel.dk> Pre-load and sort random blocks for pure read verify workloads

If fio is run with a write phase before a read phase and the
IO type is random, the end read verify phase will get sorted
blocks to read back. But if fio is asked to verify something
that was previously randomly written, it will generate the
same random offsets in random order and verify those. This is
usually much slower than a sorted read back.

So add a verifysort_nr option that allows the user to specify
a number of random offsets to pre-generate and sort, before
reading them and verifying the contents. This greatly speeds
up pure read verify workloads.

Default to 1024, and put a max of 64K entries on the option.
We do a merge list sort on the entries, so we don't want a
huge amount of backlog.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
67bf982340d95ca98098ea050b54b4c7adb116c0 10-Jan-2013 Jens Axboe <axboe@kernel.dk> Add configure script

Get rid of all the fragile guessing and checking of features,
and roll a configure script instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
42634d2118b41f26151f5b708e83d40061570653 14-Dec-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio
01423eae85a071ff6acee870edd696c7929723ba 14-Dec-2012 Jens Axboe <axboe@kernel.dk> clock: ensure that we re-init if the clocksource changes from the default

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
2a988d8bcb447eb098fc382835cc507587c6ba66 11-Dec-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
fio.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fa80feae51331fb170e784459fa1359d7ec3a963 09-Dec-2012 Jens Axboe <axboe@kernel.dk> Add check for invariant TSC on x86 and use TSC is default clock if reliable

TSC is by far the fastest clock we can use. Check the CPUID bits for
whether it is both constant rate AND synced across cores. If it is,
we can use it as our default clock source.

Fio will default to this clock source on x86 if no other clock source
is specifically given with clocksource= in the job file.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
481075983e3c71460b9f784ddfb14099857e444a 04-Dec-2012 Jens Axboe <axboe@kernel.dk> options: add category/group to random_generator/random_distribution

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
49758e11f3658686ccd1c61724a5eba142f3ee4f 03-Dec-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
fio.h
io_u.c
ioengine.h
memory.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8055e41d0ecc54770a2653427532b3e2c5fabdad 26-Nov-2012 Jens Axboe <axboe@kernel.dk> Add LFSR generator

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
1e5324e723116a5faf9da686993cc79c14d62d4b 14-Nov-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
backend.c
client.c
fio.h
options.c
parse.c
parse.h
server.c
server.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
18ded917799ea71ff950360fab7eebebe3c2f406 08-Nov-2012 Jens Axboe <axboe@kernel.dk> Zipf theta must be different than 1.0

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
078189c148e6e0e42894033cf5e19bd6028ca288 07-Nov-2012 Jens Axboe <axboe@kernel.dk> Add safe checks for valid pareto input value

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
925fee33e47f7eb755ee893e87f0de2bd405a8cc 06-Nov-2012 Jens Axboe <axboe@kernel.dk> Add pareto distribution randomizer

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e25839d4cb5fefcb5ffce76128a4faedb177e7af 06-Nov-2012 Jens Axboe <axboe@kernel.dk> Add sample zipf distribution randomizer

Instead of just doing purely random IO where each block is
touched exactly (or close to, depending on random map) once,
add a zipf distribution scheme where a selectable theta
defines the spread and frequency of blocks read/written.

Committing this so I don't lose it. Needs a few changes,
for instance we need to hash the zipf output so that
the spread doesn't always just favor the lower LBA range.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
155015351132ad00e2e21cb63f52fee91e56e92a 24-Oct-2012 Jens Axboe <axboe@kernel.dk> Add max_latency option

If set, fio will exit if it sees a total IO latency that exceeds
this value.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d0b937ed8841484c2d651919943e8e4c70dfd460 20-Oct-2012 Yufei Ren <renyufei83@gmail.com> Fine-grained job level numa control

Two new options, numa_cpu_nodes and numa_mem_policy, are created
for a fine-grained job level numa control. Please refer HOWTO and
README for detailed description.
A example job, examples/numa, is added as well.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
f681d0bac9c42e5d6bcb3601d2f3cfaa1c2cefb4 11-Oct-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio
a4cfc4775cc1c8f1eb9b7ed5ffd3024d9be6747c 09-Oct-2012 Jens Axboe <axboe@kernel.dk> options: cast page_size to unsigned long for sprintf()

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
bc3f552ffff4d41ff8420b711775f4a8b7a1e87b 27-Sep-2012 Jens Axboe <axboe@kernel.dk> gfio: add error option group

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
a94eb99a080d01475da47a55de890680d72907b9 24-Sep-2012 Jens Axboe <axboe@kernel.dk> Add error_dump to option category

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e65a950ab73d7d91f267ad7f7b084d94e266fcb0 24-Sep-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
backend.c
fio.h
io_u.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
d79db1222039e906dd49ae290daa59701f4e2385 24-Sep-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
backend.c
client.c
fio.h
init.c
io_ddir.h
options.c
server.h
stat.c
stat.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8b28bd41375930664a0ff9ff9b101a88ac416ac5 23-Sep-2012 Dmitry Monakhov <dmonakhov@openvz.org> backend: Add configurable non fatal error list

Sometimes it is reasonable to perform test nearly system limits where
errors are possible and expected, in that case one may provide non
fatal error list which will be ignored during execution.
This patch add two options:
ignore_error: List of non fatal error
error_dump: Whenever ignored list should be dumped to log.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
1ecc95ca3117d146254dec621f1402f8be7f375c 20-Sep-2012 Jens Axboe <axboe@kernel.dk> options: wire up e4defrag and falloc engines

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
8200b8c711cfabca65ce32e84f5985a2307a1ea9 18-Sep-2012 Jens Axboe <axboe@kernel.dk> Wire up fusion-aw-sync engine

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
6eaf09d6e9ca1f8accb057cdb18620b7e53ae33f 14-Sep-2012 Shaohua Li <shli@fusionio.com> Add support for trim as a workload type

This only works on Linux so far, and it's always sync given what
the interface to the kernel looks like. Also restricted to pure
block devices.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d17fda710e5271eaa6e54dbbf70c5a4a1cf4d769 07-May-2012 Jens Axboe <axboe@kernel.dk> gfio: set option category for create_only

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
fb390e242cac8868e01cdc2046c63e04e3d53d70 07-May-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
backend.c
client.c
fio.h
os/windows/install.wxs
server.c
server.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
25460cf6350fb90b8a7943bb649a51d81bac13a4 02-May-2012 Jens Axboe <axboe@kernel.dk> Add create_only option

If this option is set, then fio will only run the preparation
phase of a job. This means it will create all the files it
needs, but exit after that.

Suggested-by: Georg Schönberger <gschoenberger@thomas-krenn.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
b0df7176176935b4d39fd196ad35f046bbe10333 02-Apr-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio
13fca827b9c2bb71358fcaa3a7e6e89419d5b1b8 31-Mar-2012 Jens Axboe <axboe@kernel.dk> options: group tiobench options together

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
203160d52b866497caef35335a7032fb9702a4af 29-Mar-2012 Jens Axboe <axboe@kernel.dk> options: get rid of more .cb option usage we don't need

- The lat/bw/iops log does not need two ways of storing whether
they are enabled or not. Just change the option to a string
storing variant, and use the existance of a filename to see
if it's set or not.

- The trim_percentage option need not have a callback, the
parser knows the limits and can store it appropriately.

- The verify_offset option can express it's minimum value
directly, it doesn't need a callback to set it on its own.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
28727df79348d4ebbd8fd4b0dd89bbca035f68d0 29-Mar-2012 Jens Axboe <axboe@kernel.dk> options: move ioprio/ioprio_class into thread_options space

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
1b79a070d9307ad57cea5922292241bd3851a039 28-Mar-2012 Jens Axboe <axboe@kernel.dk> Make lockmem a per job option

We need to get rid of per job options that fiddle with global
state. It's confusing, and it breaks remote option handling.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
83ea422a62b8a42b14c362db61c2e7bf53862e80 28-Mar-2012 Jens Axboe <axboe@kernel.dk> Start the process of making options more gfio friendly

We either need to eliminate the option callbacks, or ensure that
they don't have side effects outside of touching td->o. We will
need to use &td->o as the data passed in for the callbacks, not
the full td.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
3c3ed070502bbfec387ded2c43d5e4559ca24a63 27-Mar-2012 Jens Axboe <axboe@kernel.dk> White space spring cleaning

Lets squash them all, with a bit of tooling help.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
10b023db64eeb686eabdfa84faea45795ac8c34c 23-Mar-2012 Jens Axboe <axboe@kernel.dk> Allow readwrite as an alias for rw in setting sequential read/write

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
c504ee558187d53c76d417b8d6c9617dd05b762b 20-Mar-2012 Jens Axboe <axboe@kernel.dk> goptions: use glib n-ary tree for option dependencies

We didn't support looking up children of children before, since
it would just be too costly (making the whole 'visible' thing
be N!). Move to a glib n-ary tree for option dependencies, this
is a lot cleaner and faster.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
b2452a433abf78934bcc38ee33ac7892a1297751 20-Mar-2012 Jens Axboe <axboe@kernel.dk> goptions: enable combo box hiding

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
a4ed77fe07de1ca78cd44a6378dc20a2cd1ce7ad 20-Mar-2012 Jens Axboe <axboe@kernel.dk> options: add ->hide_on_set

Normally we hide children if the parent isn't set, but for some
options it's the other way around.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
0353050fe32065e1932a43a7c39a7c390ea71142 19-Mar-2012 Jens Axboe <axboe@kernel.dk> cpu: move cpuload/cpuchunks options into private engine option space

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
3ceb458f1295952a91a3ebc1db6e4701e16cfb3c 19-Mar-2012 Jens Axboe <axboe@kernel.dk> options: more groupings

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
a01a1bc58d096dd593fa458f99f3c6f423c4b69a 19-Mar-2012 Jens Axboe <axboe@kernel.dk> gfio: apply inverse options to buffered/direct

For these, we'd ideally use radio buttons instead. But hard to
pass that info from the options structure, so lets just punt
to inverse check buttons for now.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
108600560ae2368369e7b75255539b3286341929 19-Mar-2012 Jens Axboe <axboe@kernel.dk> options: more option grouping

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
a1f6afecfa6095cb728cee2cfbed8979997592b7 19-Mar-2012 Jens Axboe <axboe@kernel.dk> options: group cgroups and jobs

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
90265353af8dbf1c43804996909777d4c1a5998e 19-Mar-2012 Jens Axboe <axboe@kernel.dk> Add support for inverse options

Options that are tied to each other, meaning that if one is
incremented by X, the other is decremented by X automatically.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
0626037e3b4d9cb3cdc8c60dedf104f3d31b9484 19-Mar-2012 Jens Axboe <axboe@kernel.dk> Categorize a few more options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e8b0e958cd219cabb1154e2b06036863a7d6dbd7 19-Mar-2012 Jens Axboe <axboe@kernel.dk> gfio: improve option edit

Allow grouping of options into both categories, and groups. The
groups are within a category. This shrinks down the number of
job edit tabs a lot.

Work in progress...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d71c154c8b20a7ddca645d9854e640563f1b79c7 16-Mar-2012 Jens Axboe <axboe@kernel.dk> Add hint on whether to hide a sub option if a parent isn't set

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
20eb06bd2aef37fa8dd314a110bb81c733115e15 16-Mar-2012 Jens Axboe <axboe@kernel.dk> Allow options to specify intervals

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e231bbe64fffda2090b74941efe21d9c0013cd1e 16-Mar-2012 Jens Axboe <axboe@kernel.dk> Add FIO_OPT_G_IO_ENG category

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
767a0a6603d5611a2319b4d1d84ecd78100c734f 16-Mar-2012 Jens Axboe <axboe@kernel.dk> Add categories for missing options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
6a4cf74fc2521b601cb1cc9478526cc441830a5c 16-Mar-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
fio.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
9af4a24408ea7d4cea084a4fe214b81145cc36ac 16-Mar-2012 Jens Axboe <axboe@kernel.dk> gfio: start of options view and edit

This is pretty crap right now, but it's exposing all the options.
Now we just need them to reflect the current job, and be able to
update a remote job with a new set of options.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
2d7cd868ff95ecf4d5b8247e255fbec807aa2aa7 15-Mar-2012 Jens Axboe <axboe@kernel.dk> Note offset_increment parent option

And move it up near "offset".

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
214ac7e009897f8f82ab9e21aff9bc86d33bb470 15-Mar-2012 Dan Ehrenberg <dehrenberg@google.com> New offset_increment option

This patch adds a new option to fio job files. It is described
in the HOWTO as follows:

offset_increment=int If this is provided, then the real offset becomes
the offset + offset_increment * thread_number, where the
thread number is a counter that starts at 0 and is incremented
for each job. This option is useful if there are several jobs
which are intended to operate on a file in parallel in disjoint
segments, with even spacing between the starting points.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e476994eed3bee246ca166ea6ad6018911408e9b 13-Mar-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
client.c
fio.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
c9c63318734feb94eae3013fa1b606d6da744655 12-Mar-2012 Jens Axboe <axboe@kernel.dk> Group options into categories

Each option can belong to several categories. This is going to
help us make some sort of sane GUI representation of options.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
207b18e4238f281bfe044bfbdc23755f96d33185 09-Mar-2012 Jens Axboe <axboe@kernel.dk> Mark buffer_compress_chunk as child of buffer_compress_percentage

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
f97a43a191f72ce071fe1140a2888dd5298c9aaa 09-Mar-2012 Jens Axboe <axboe@kernel.dk> Add buffer_compress_chunk option

Instead of doing bs/2 of incompressible and zeroed data for a 50%
compression setting, use the smaller chunk size specified by
this option.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
2dc1cbb52f73303d479a72e99930a2838c4b0fa4 08-Mar-2012 Jens Axboe <axboe@kernel.dk> Add thread_options_pack structure

First step towards having an on-disk and on-wire independent
options structure, with the goal being that we parse options
locally (hence allowing them to be edited sanely) and send them
to the server in one nice package.

Additionally, this is a step towards being able to have a new
fio/gfio "project" file format, which includes all the info a
given client needs. This includes job options, where to connect,
etc.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
9c42684e32325da26e862280388798343c5f1305 02-Mar-2012 Jens Axboe <axboe@kernel.dk> Add buffer_compress_percentage

The option is pending testing, so not documented yet.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
e3aaafc4e902a0f78b8ee4d4bc85f8edac6e09d2 22-Feb-2012 Jens Axboe <axboe@kernel.dk> Auto-detect whether to use hw assisted crc32c

Little point in separating the two. If the hardware assisted
crypto is available, always use it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
9e684a4976b7934f5ce011ea281dfef3352e5738 20-Feb-2012 Dan Ehrenberg <dehrenberg@google.com> Token-based flow control

This patch allows two fio jobs to be kept to a certain
proportion of each other using token-based flow control.
There are three new parameters: flow, flow_watermark, and
flow_sleep, documented in the fio options. An example of an fio
job using these parameters is below:

[global]
norandommap
thread
time_based
runtime=30
direct=1
ioengine=libaio
iodepth=256
size=100g
bs=8k
filename=/tmp/testfile
flow_watermark=100
flow_sleep=1000

[job2]
numjobs=1
rw=write
flow=-8

[job1]
numjobs=1
rw=randread
flow=1

The motivating application of this patch was to allow random reads
and sequential writes at a particular given proportion.

This initial version is only correct when run with 'thread', as shared
state is represented with a global variable. It also only allows two
jobs to be synchronized properly. A future version might do more, but
no more functionality was needed for my application.

Tested: Ran a few fio jobs with this flow control, observing
the proportion of IOPS to match what was intended by the job file.
Varied the flow_watermark and flow_sleep parameters and observed
the effect on throughput.

Signed-off-by: Dan Ehrenberg <dehrenberg@google.com>

Modified by me to support flow_id, so an arbitrary number of flows can
be used. This means it no longer relies on global context, so it can be
used from a thread or process alike. Also added man page documentation.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
9a2a86d0f6f1425a6da666459ccd379e356a30d0 07-Feb-2012 Steven Lang <tirea@google.com> Optimize pattern verify

Similar to the patch last week, this optimizes the pattern verify
operation to use optimized library calls like memcmp(), and only fall
back to byte-by-byte if there is a miscompare to locate it.

This uses the same premise that the pattern is repeated as many times
as possible to do large compares in a single call. For single byte
pattern, the setup fills the pattern space, and verify assumes it is
full.

Tested by running a script which created an 8k file with 4k bs and,
one byte at a time, tried corrupting the pattern and running a read
pass and verified it still found miscompares across the whole range of
the pattern. This was done with a pattern length of 1 and 3 bytes.

In performance tests, this was about 8 times more efficient on
verifies than without this patch.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
efcd9dcc5e93fc313b0cd37e267bbf141675826c 02-Feb-2012 Steven Lang <tirea@google.com> Optimize pattern filling by limiting small calls to memcpy

In looking at profiling the speed of fill_pattern(), it calls memcpy()
for the fill pattern repeatedly for multibyte patterns. So for a 4
byte pattern with 8k IO, it calls memcpy() 2048 times.

Since there is already 512 bytes reserved for the pattern, I figured a
simple solution was to use it. This patch replicates short patterns
so they can be more efficiently copied. (Single byte patterns are
left alone since they can make use of the much more efficient memset()
call.)

The result is a 10x performance improvement on pattern filling. (With
this patch, it's still 3x slower than when it re-uses the already
filled pattern.)

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
ed33585509a97c4a65e46967cb49419b6a4f8870 31-Jan-2012 Steven Noonan <snoonan@amazon.com> implement zoned random I/O testing support

This fixes the limitation that prevents fio from doing random I/O with zones
enabled.

This also adds a 'zonerange' configuration option which may be too ambiguous
and is subject to potential renaming in the future.

When doing random I/O, it is beneficial to be able to specify how large the
addressible space is in the zone, while specifying a different metric for
how much data to read from that zone (i.e., how many samples to take from each
zone). When 'zonerange' is not specified, it defaults to be equal to the
'zonesize' option. When both are specified, 'zonerange' indicates the
size of the zone while 'zonesize' indicates the quantity of data to read from
each zone.

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
b8bc8cba9512c6dce4891fda86de675053605ca2 01-Dec-2011 Jens Axboe <axboe@kernel.dk> Add log_avg_msec option

By default, fio will note an entry in the bw/iops/lat logs for every
IO that is completed. This quickly eats up a lot of disk space
for long running jobs. By setting this option to eg 1000, fio will
average the results logged over 1 second instead. This reduces the
resolution of the log, but makes it more manageable.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
068420271828b3b2426ffc3ccf64404cb9d340fb 17-Nov-2011 Steven Lang <tirea@google.com> Expand continue_on_error to select which type of error to allow

This expands the continue_on_error option to take a string specifying
what type of error to continue on, breaking out errors into read,
write, and verify. (Sync, trim, and anything else not specifically a
read are considered write operations for the sake of error
continuation.)

Backwards compatibility is retained by allowing =0 and =1 values to
specify none and all, respectively.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
1647f592cc93364e018ed149cb1a5b6a7dc598b9 09-Nov-2011 Jens Axboe <axboe@kernel.dk> Fix crash when attempting to dupe options

If the engine has extended options but isn't loaded, boom.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
de890a1e48d40238dac69f302708dde8719de240 09-Nov-2011 Steven Lang <tirea@google.com> Private parameters for ioengines

Here is the polished version of the engine private options patch. As
discussed, the global section only ever tracks the private options for
the globally defined ioengine. For command line parameters, the
ioengine must be selected before any private options are used. (IE
--ioengine=libaio --userspace_reap will work, but --userspace_reap
--ioengine=libaio will not.)

The userspace_reap option from libaio has been moved over to this new
option method, usage should be identical to before.
The net ioengine has been modified to use parameters, with hostname,
port, protocol and listen defined as ioengine private parameters. The
old style of hostname=host,port,protocol no longer works, so usage
will need to be updated. (It will spit out an error that should be
clear enough that it changed if this is tried.) Also, with the new
way for specifying parameters, the net IO engine now allows data to
flow in either direction on TCP connections, regardless of which end
initiates the connection.

There's also a new command line argument --enghelp which can be used
to get help on ioengine private parameters, similar to --cmdhelp.
With no argument, it lists all built-in ioengine. The argument is an
ioengine name (Or path to .so) and optionally a comma followed by a
command name, which behaves identically to --cmdhelp.

For ioengine authorship, if options are supplied, both the options
structure and the size of the storage needed must be supplied, and the
storage must be large enough to hold a pointer to struct thread_data;
that is because the options callback doesn't explicitly have a pointer
to the thread data (Normally it relies on the fact that the options
struct is the start of the thread data), so the offset 0 of the struct
must point to the thread data, and is filled in automatically. (This
also neatly provides a guarantee that offset 0 is reserved in the
options data, so it can be safely used as a test of undefined.)

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
d0c814ececb7410e97d1a437e80fc2dfd5c6de38 28-Oct-2011 Steven Lang <tirea@google.com> Cleanup option keyword/environment substitution

Right now the substitution for options seems quite fragile. Among the
issues...

- If bc had an error and returned no output, it caused a NULL reference
- Multiple variable substitutions (For example $ncpus * $pagesize)
caused an error as it tried to run bc after the first, with the second
still text
- Memory leak for every keyword substituted
- Multiplication caused shell wildcard expansion (*) of the current
directory when passing the input to bc
- Shell escape sequences would be parsed on the command line when bc is called
- Potential buffer overrun due to unchecked lengths on the input line

So I did a little cleanup to get rid of the issues. This patch also
moves the environment variable substitution to run before the keyword
substitution, so an environment variable can now indirectly perform a
keyword substitution.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
ef71e317e6e1e96a4776610035cd67711603e1f8 25-Oct-2011 Jens Axboe <axboe@kernel.dk> Make verify_dump off by default

It's a change of behaviour, so it should be off by default.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
7e356b2dee2e86f3684424fc6e903f1ef9f00ef4 14-Oct-2011 Jens Axboe <axboe@kernel.dk> Memory leak fixes

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
0dc1bc03182ff0c8d1f3b1c36ce8e2f5bba52af6 13-Oct-2011 Jens Axboe <axboe@kernel.dk> Disable clat percentiles if gtod_reduce=1 is set

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
467b35ed060e8feebd756bd399f095913281cd2a 13-Oct-2011 Jens Axboe <axboe@kernel.dk> Enable completion latency percentiles by default

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
0fd666bf0d5fc373f28b1b43d1df817f8ec89605 06-Oct-2011 Jens Axboe <axboe@kernel.dk> net: support for unix domain sockets

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
c8eeb9df1f52f28567a5937e141decc6a26ec30b 05-Oct-2011 Jens Axboe <axboe@kernel.dk> Add support for write_iops_log

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
81179eec4a84ff25c190a8a6a685b0b3b4dd2a37 04-Oct-2011 Jens Axboe <axboe@kernel.dk> server: initial support for command line passing

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
fd68418e1f248e85809312d6fa789eaf57b54dc0 19-Sep-2011 Jens Axboe <axboe@kernel.dk> Add option for controlling buffer scrambling

scramble_buffers bool option, defaults to on.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/options.c
6925dd356191bc40e8a1ebc8fd92a40b476658c3 07-Sep-2011 Jens Axboe <jaxboe@fusionio.com> Revert "Fix parser bug with ranges"

This reverts commit f20485ad77872d6c5084dead547420386a6ecd5e.
/external/fio/options.c
f20485ad77872d6c5084dead547420386a6ecd5e 07-Sep-2011 Jens Axboe <jaxboe@fusionio.com> Fix parser bug with ranges

The change to allow -/+ for values broke ranges.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
c44b1ff54402c589e8f07436ec56efb4f8b1ac23 31-Aug-2011 Jens Axboe <jaxboe@fusionio.com> Add sub-option support (sort-of) and convert libaio_userspace_reap

You should now use ioengine=libaio:userspace_reap instead of
the separate option.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
675012f04dbd821cc5d22ec56930094b9c8a99e5 31-Aug-2011 Dan Ehrenberg <dehrenberg@google.com> Adding userspace_libaio_reap option

When a single thread is reading from a libaio io_context_t object
in a non-blocking polling manner (that is, with the minimum number
of events to return being 0), then it is possible to safely read
events directly from user-space, taking advantage of the fact that
the io_context_t object is a pointer to memory with a certain layout.
This patch adds an option, userspace_libaio_reap, which allows
reading events in this manner when the libaio engine is used.

You can observe its effect by setting iodepth_batch_complete=0
and seeing the change in distribution of system/user time based on
whether this new flag is set. If userspace_libaio_reap=1, then
busy polling takes place in userspace, and there is a larger amount of
usr CPU. If userspace_libaio_reap=0 (the default), then there is a
larger amount of sys CPU from the polling in the kernel.

Polling from a queue in this manner is several times faster. In my
testing, it took less than an eighth as much time to execute a
polling operation in user-space than with the io_getevents syscall.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
059b080217b86dbf9f3574c4661a1b2300522c79 25-Aug-2011 Jens Axboe <jaxboe@fusionio.com> Add possibility to make sequential IO "holed"

For sequential IO, it is now possible to add a number of bytes to
be skipped for every block read or written. Using:

bs=8k
rw=read:8k

will first read 0k->8k, then 16k->24k, and so on. This skips 8k
for every 'bs' sized block read. Similar for writes, doing

bs=4k
rw=write:4k

will write 0k->4k, then 8k->12k, etc. End result being that every
other block is written, in a sequential fashion.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
833491908a1afd67d27ce79257de3a4d80143d9f 13-Aug-2011 Yu-ju Hong <yjhong@google.com> stats: Add a function to report completion latency percentiles

This patch introduces two new options:
1) Specifying --clat_percentiles enables the reporting of
completion latency percentiles.
2) --percentile_list allows the user to customize the
list of percentiles to report.

Signed-off-by: Yu-ju Hong <yjhong@google.com>

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
d392365ee61ecf469963ca0dffe06d604332d7d2 03-Aug-2011 Jens Axboe <jaxboe@fusionio.com> Add 'wait_for_previous' as an alias for the 'stonewall' option

Also update man page and HOWTO, plus add missing alias for
iomem_align while in there.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
21b8aee865f0d3960687ce6ba7385e5977f45061 01-Aug-2011 ren yufei <renyufei83@yahoo.com.cn> RDMA IO engine

I have hacked an rdma ioengine based on OFED for fio which could test
both rdma memory semantic (rdma_write/rdma_read) and channel semantic
(send/recv). Would you like to merge this engine into fio?

notes
1) RDMA engine works in IB, iWarp and RoCE.
2) RDMA engine is disable by default. To enable it, execute the following
before compile:

$ export EXTFLAGS="-DFIO_HAVE_RDMA"
$ export EXTLIBS="-libverbs -lrdmacm"

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
7bb591020669b7266c57108f2a68b48a03ae72ee 12-Jul-2011 Jens Axboe <jaxboe@fusionio.com> Allow percentage setting for size=

Sometimes it's useful to set this to a particular size of a device.
Allowing percentages makes this more easy, as one does not have to
do the math outside of fio and pass in as environment variables
or custom job files.

To use, simply add a

size=15%

or whatever is needed, then fio will use 15% of the total size of
the device(s) or file(s) given. Percentage can be from 1 to 100.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
8eb016d3727522d580d4dd463aefef58b7ecdb00 11-Jul-2011 Jens Axboe <jaxboe@fusionio.com> Fix bug in $mb_memory keyword

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
c00a22894b82ff53b42c1e741a7b4828199a1388 08-Jul-2011 Jens Axboe <jaxboe@fusionio.com> Initial HP-UX port

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
a596f047e2b3d447ccca76bd075f05473a1f8d1c 17-Jun-2011 Eric Gouriou <egouriou@google.com> Add ability to invoke fallocate() FALLOC_FL_KEEP_SIZE.

Linux offers fallocate() and the FALLOC_FL_KEEP_SIZE option as
an alternative to posix_fallocate(). When FALLOC_FL_KEEP_SIZE is
specified for an falloc request going beyond the end of the file,
the requested blocks get preallocated without changing the apparent
size of the file. This is is a commonly recommended use of fallocate()
for workloads performing append writes.

This patch modifies the fallocate option from a boolean option
to a string option accepting none/posix/keep/0/1. 'keep' is only
made available on systems where FALLOC_FL_KEEP_SIZE is available
(i.e., Linux at this time). If specified, fallocate() is used
with FALLOC_FL_KEEP_SIZE set. 'none' disables pre-allocation while
'posix' uses posix_fallocate(). The default behavior remains unchaned,
i.e., invoking posix_fallocate. The settings '0'/'1' are there to
provide backward compatibility for users who had explicitly set the
boolean option.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
3f0ca9b914e6d0db8c5c457713c277ce458cbc02 24-May-2011 Jens Axboe <jaxboe@fusionio.com> Silence gcc 4.6 warnings

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
2615cc4b28e7d0e436a625dff92e6a71ccc6c49b 28-Mar-2011 Jens Axboe <jaxboe@fusionio.com> Switch to using our internal Tausworthe based random generator for offsets

It's both faster and more exhaustive than what is available on
glibc on my test systems. So no downsides, and the upside of having
the same offset generator across all platforms.

This will change the random series, so could alter performance for
your workload since the pattern will be different in sequence. There's
an option to revert to the OS generator, you can add use_us_rand=1
on your job files to retain the old generator offsets.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
74586c1efe37b4eac189cd8dd1eb00e96babce3f 20-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Add fill_fs alias for fill_device

Name implies that it works on a device, which isn't quite correct.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
58483fa41bb08def4dbd3c4c9624116b643c7599 19-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Define OS preferred IO engine

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
3be8007107a6e4bad3f1b7ea9ea80b51a2dddfc4 19-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Fix merge error hiding mmap ioengine under Windows build

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
92bf48d530ab09bae4058df711c4723c73da51b9 14-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Streamline pattern/meta verifies instead of special casing them

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
b463e9363b826d5ba4f16e0115a26f24b77078f4 12-Jan-2011 Jens Axboe <jaxboe@fusionio.com> Add verify_dump option to control whether to dump bad/good blocks or not

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
03e20d687566753b90383571e5e152c5142bdffd 02-Jan-2011 Bruce Cran <bruce@cran.org.uk> First snapshot of FIO for Windows

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
d7c8be035a17054b165343c40dc8773f103f1fc7 25-Nov-2010 Jens Axboe <jaxboe@fusionio.com> nrfiles vs nr_files mixups

The man page references nr_files, the real option is nrfiles.
Change man page and add nr_files alias to nrfiles.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
1ef2b6be973eded12827990ae1a9eb28b7b20be7 08-Oct-2010 Jens Axboe <jaxboe@fusionio.com> Initial support for explicit write barriers

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
79a43187163eb99eaabaa496cb8b5e3a164f3e09 07-Sep-2010 Jens Axboe <jaxboe@fusionio.com> Add binject IO engine

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
0d29de831183dfd049c97a03008d425ce21e2fa4 01-Sep-2010 Jens Axboe <jaxboe@fusionio.com> Add verify trim support

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
d1c46c049cfba2028abc45246e2609bcee52d0f3 31-Aug-2010 David Nellans <dnellans@fusionio.com> Add support for redirection replay of blktrace traces to another device

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
87e7a9723a6732619b1682388cbc11b277a918f8 25-Aug-2010 Jens Axboe <jaxboe@fusionio.com> Mark "read_iolog" as a parent for "replay_no_stall"

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
64bbb86598ada3fa401c61aab5ef6c37bec6d6f3 24-Aug-2010 David Nellans <dnellans@fusionio.com> Add option to skip delays when replaying traces

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
bf2e821a55d8aa3de1cda7288a0e22883110fdc6 11-Aug-2010 Cigy Cyriac <CCyriac@fusionio.com> Add support for AIX

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
85bc833bed3fa58c177df65f1d6cf40af85cb10b 11-Aug-2010 Cigy Cyriac <CCyriac@fusionio.com> Fix bad casting of unsigned long long to unsigned long

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
38dad62d5154ffaad445bd0231b271b9a46a5190 20-Jul-2010 Jens Axboe <jaxboe@fusionio.com> Add rw_sequencer option

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
5736c10dccc4124d99178b94e6759386420e5251 20-Jul-2010 Jens Axboe <jaxboe@fusionio.com> Rename ddir_nr -> ddir_seq_nr

Another mode will be added, so lets rename this one internally
to make the distinction clear.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
a5737c9363912baaa21af978358fb9f42e756beb 29-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Fix startdelay option with s/m/h/d postfix

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
02af09886db695e5ea2b7fd2a632733955f3c03f 24-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Add total latency log

We log submission and completion latencies, also log total latencies.
This makes it easier to graph and make histograms, if you care only
about the complete latency.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
5d7c5d348d66794fd5e8aa3090f582358e6c5017 21-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Auto-detect missing hw support for crc32c and fallback to software

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
9e144189c6e000df8a797312e43a4913f3b83c9a 15-Jun-2010 Jens Axboe <jaxboe@fusionio.com> Add some support for a verify backlog

Instead of writing everything and then verifying everything,
allow a job to specify incremental verify stages. This can
help reduce memory consumption of fio, since we don't have
to store a huge number of verify entries to be processed
when the write phase is complete.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/options.c
17af15d46a9bfa3109321ecddfd4a649e36ffac9 13-Apr-2010 Jens Axboe <jens.axboe@oracle.com> Make sure that alias names are also valid on the command line

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
7de870993035f855e1d1299a2b5c2c90b792c238 31-Mar-2010 Vivek Goyal <vgoyal@redhat.com> Add an option "cgroup_nodelete" to not delete cgroups after job completion

o Add an option cgroup_nodelete to not remove cgroups created by fio after
the job completion. This can help a user in inspecting various cgroup
files after fio job completion.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
fdba6ac393728b3f743013a6517a987fda79bd1a 24-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Remove default setting of clocksource

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
c223da83e253b0057bb029bf4fbb55a05844215c 24-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Add support for specific clock sources

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
3ae0637148904b5c68cb95e749460e37e3502a9c 19-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Only define str_sfr_cb() if FIO_HAVE_SYNC_FILE_RANGE is set

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
3843deb322eb7b54d2d19d7b1ce19c5dc44d57ff 09-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Make sure we handle multiple arguments to sync_file_range

We need to be able to OR the values.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
44f29692cfba246981bb3c1b894333a6d2209f51 09-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Initial suppor for sync_file_range()

This revs the ioengine to 11, as we now have another data direction.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
f5b6bb85364fcb8b2ac8d922ca65afd9dfabc9bb 05-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Allow the adding of 'posval' for dynamic options like 'profile'

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
07b3232de97ac32a873f0b5d17c8f49c18ed3ae7 05-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Cleanup profile support

This is closer to where it needs to end up. No ext_options, just
include profile options in the general option table (and mark them
private for that profile).

Profile options are only available after loading a specific profile,
so there should be less confusion.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
9f81736c7531e002038621577d5ffea571649bd7 04-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Make sure profile options get added to long_options[]

Still the restriction that profile load must come after the
private options, which is a bit odd. Still shaking out the
oddities....

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e2de69dac799a1eecac1b52085f908729591ef5a 04-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Add initial support for profile specific options

Not complete yet, we need to split option parsing for profiles a
bit.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
79d16311c8d0c7188d73df77838fb1b4b6ff58db 04-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Add support for loadable profiles

Split the only existing profile, tiobench, into this setup.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
9f988e2ebb3bff7087cc9681a54bd7f0d0e42140 04-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Add support for registrering external options

Start of support for real profiles.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
7bc8c2cf02fbd538ca388618ff2f4618787a86e0 28-Jan-2010 Jens Axboe <jens.axboe@oracle.com> Add specific knob for controlling fallocate() usage

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
3b2e1464ae58caf42c74ab4bdeaa5eae7c38a23f 15-Dec-2009 Jens Axboe <jens.axboe@oracle.com> Fix some issues with the OSX port

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e0b0d89201bd301f47fbbfcf86545b7e77b16ef3 08-Dec-2009 Jens Axboe <jens.axboe@oracle.com> Add support for specifying UID/GID

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
6adb38a1a1cbe95f7131815416c8bb31683c3f47 07-Dec-2009 Jens Axboe <jens.axboe@oracle.com> Autodetect cgroup blkio mount point

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
ddf16fe4da558a2778bf1ba06c965080d318cb24 04-Dec-2009 Jens Axboe <jens.axboe@oracle.com> CGROUP fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a696fa2a9c2e21a1c88813235d6fc39d267f6155 04-Dec-2009 Jens Axboe <jens.axboe@oracle.com> Add support for blkio cgroups on Linux

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
9ac8a797da61a59c9fa1b59f8574246555403d19 13-Nov-2009 Jens Axboe <jens.axboe@oracle.com> Add support for simple profile benchmarks

One of the reasons that tiobench gets used a lot, is that you
simply have to run it. For "real" benchmarks, you usually
have to configure them first. This adds support for easy testing
by adding some predefined and included workloads. This commit
includes tiobench, to run a tiobench like workload you would
simply do:

$ fio --profile=tiobench

and that would be it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
7a958bd5974368e97058ab17ea94611e4d723da0 13-Nov-2009 Jens Axboe <jens.axboe@oracle.com> Only do math on known keywords

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
892a6ffc5363ad7f1750df9f3ec98624016660cd 13-Nov-2009 Jens Axboe <jens.axboe@oracle.com> Support simple math on reserved keyword expressions

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
0e92f873a3d542d2b237d68fd9391c92a85fa0b8 27-Oct-2009 Radha Ramachandran <radha@google.com> Support > 4 byte verify write patterns

This is the patch I have to write/read/verify hex patterns of size > 4
bytes. I have tested these on hard drives and did not see any
performance change. I am assuming the performance drop if any might show
up in the read phase for probably solid state drives and maybe it can be
worked around using the asynchronous verify flag.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
df9cf928c7d93e1097c7e205893a72f828ecc9f6 15-Oct-2009 Kenneth Waters <kwaters@google.com> Fix bug in bssplit parsing

I found a bug is bssplit parsing in bssplit_ddir() when trying to use
FIO on an ARM platform. It looks like str_to_decimal() takes a "void
*" as its fourth argument, which it passes to get_multi_bytes(), which
is passes to fio_get_kb_base(), which casts it to a "struct
thread_data *". bssplit_ddir() is passing in "struct thread_data **",
which I think is causing fio_get_kb_base() to go paw around in the
stack; I believe the different stack layouts between ARM and x86 is
causing me to see this problem. The first change that introduces this
bug seems to be d6978a3242daad9cb7b0710b724f19225d1ed7e2.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
0b9d69ecb14045cf3b2622ae922756b9889b25e6 11-Sep-2009 Jens Axboe <jens.axboe@oracle.com> Silence the style/whitespace police

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
23d2461974c334d77eb7a06a2dbd1f37aeee85d4 09-Aug-2009 Jens Axboe <jens.axboe@oracle.com> Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
7c353ceb3257b132f4c98326046b42201e070731 09-Aug-2009 Jens Axboe <jens.axboe@oracle.com> Add Linus' optimized sha1 hash for checksum

It does appear to be pretty fast.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
74929ac27bcbaa26a08a9abcda70b5ebba94166e 05-Aug-2009 Jens Axboe <jens.axboe@oracle.com> Add support for reserved keywords

Currently $pagesize, $mb_memory, and $ncpus are supported.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
8e827d35068326950a6781d93aeef33b66d3438b 04-Aug-2009 Jens Axboe <jens.axboe@oracle.com> Allow ':' in filenames

You can now use '\' to escape a colon in a filename.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d6978a3242daad9cb7b0710b724f19225d1ed7e2 18-Jul-2009 Jens Axboe <jens.axboe@oracle.com> A few more kb_base fixups

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a639f0bbd278365a2fa15031afd29a24dc917437 18-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Make kb_base apply to parser k/m/g etc values

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
90fef2d162fba55ad684c2c80b3b9739b8d16e72 17-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Add kb_base option to specify the base unit of a kilobyte

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e8462bd8250cf3ff2d41f17e1a4d4cefc70b6b37 06-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Add support for async IO verification offload

This adds support for setting up a number of IO verification offload
threads, instead of doing the offload inline. An option for controlling
the CPU affinity of those threads are always added.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
276ca4f7db8d0102ca2412d85910b5a30258462b 01-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Fix compile error

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
29d43ff9b1f342fe6658b17f0e349afcb6b76014 01-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Move gtod_cpu affinity check to verify callback

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
896cac2a44de3725a6d615914e239cab4f382e1c 01-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Move rw= write && read_only check to ->verify callback

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d529ee1932bc85598900a3ef62f01293af87fbd8 01-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Add support for the iomem_align option

This allows detailed control of the alignment of the IO buffers
that fio uses.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
5f9099ea8adf423d0db01274ef0d7e65629c0e1c 16-Jun-2009 Jens Axboe <jens.axboe@oracle.com> Add support for fdatasync()

Adds a new option, fdatasync=. It's identical to the fsync= option,
but uses fdatasync() instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
f2bba1820a567ac00b09916239ac8feb125cead2 15-Jun-2009 Radha Ramachandran <radha@google.com> Add a 'continue_on_error' option to fio

Add option to make fio continue on non-fatal errors.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e01b22b8fe3f20376fe8fdc6f2c28cc3682d698e 09-Jun-2009 Jens Axboe <jens.axboe@oracle.com> parser: get rid of FIO_OPT_STR_VAL_INT

It's treated the same as FIO_OPT_INT since we got rid of the
int vs siint distinction.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
581e71417760e0aa86eac0acd704253ff0eeea4f 09-Jun-2009 Jens Axboe <jens.axboe@oracle.com> Add support for limiting only rate in only one direction

So now you can say 'limit writes to 10MB/sec' and have reads go
full throttle, for instance.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
4f5af7b2370a6d3e64bc5128905c1aa8b0dc51b0 03-Jun-2009 Jens Axboe <jens.axboe@oracle.com> Cleanup verify headers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
afad68f778a764cbe57d4a5d54cbea32444aaa45 20-May-2009 Zhang, Yanmin <yanmin_zhang@linux.intel.com> Add pre_read option

With this option set, files will be pre-read into memory before
starting the given IO operation(s).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
f0d524b045ceef3454cbc66dbfe8ea51db298a62 27-Apr-2009 Jens Axboe <jens.axboe@oracle.com> Filename must be parsed after directory option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
720e84ad8292ab7b3a8e264fb00db71d796600d1 21-Apr-2009 Jens Axboe <jens.axboe@oracle.com> Add support for different weights for reads and writes with bssplit

You can now do:

bssplit=4k/20:8k/80,1k/50:4k/50

To have 20% 4k reads and 80% 8k reads, while having 50% 1k writes
and 50% 4k writes. This is identical to how the bs= option treats
reads and writes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
2b7a01d01ea19f6e4090c7a8280bc6bf983e781f 11-Mar-2009 Jens Axboe <jens.axboe@oracle.com> Add blockalign/ba option

Allows the job to specify alignment of the IO specifically, instead
of relying on using blocksize as the offset alignment.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
814452bd47e0f2bb4825b8042b664f32de0aff8d 04-Mar-2009 Jens Axboe <jens.axboe@oracle.com> Add create_on_open option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

Please enter the commit message for your changes. Lines starting
/external/fio/options.c
a086c25771b195d04651d293f299f0a63f7d2a23 04-Mar-2009 Jens Axboe <jens.axboe@oracle.com> Add 'sequential' file_service_type

This service type will keep a file open until IO to it is completely
done, before moving on to the next available file.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d65db441ef2125374e98848cd36c7ba86e8afa12 16-Jan-2009 Jens Axboe <jens.axboe@oracle.com> Missing text in iodepth_batch* help entries

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d2ce18b5dfdc1736a99b4e2d731119cc4880e197 12-Dec-2008 Jens Axboe <jens.axboe@oracle.com> CPU set creation and destruction can fail on some platforms

Check for that and error out if necessary.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
6d459ee7e90393af490a64709aec206d8a585ebd 12-Dec-2008 Jens Axboe <jens.axboe@oracle.com> Prepare for support for CPU binding on other platforms

The interface was Linux/glibc centric, since that is what got there first.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
b03daafb17ee6e26f66d4bc2234a031b17d085bd 08-Dec-2008 Jens Axboe <jens.axboe@oracle.com> Don't allow higher CPU counts than what the system has

Basically just catch the condition before setting up the job, job files,
etc.

Also fixes a big with cpumask, it set the wrong part.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
19608d6ceb982409ba036f646c7c57671d2df779 08-Dec-2008 Jens Axboe <jens.axboe@oracle.com> Make sure that the given CPU range is within the bounds of the OS

glibc provides CPU_SETSIZE as the maximum CPU count.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
be4ecfdf6c8daa75c4df8ac875c9a87da80d81a0 08-Dec-2008 Jens Axboe <jens.axboe@oracle.com> Add gtod_cpu option for pinning gettimeofday() to a single CPU

Similar to what real life products sometimes do, offload gettimeofday()
calls to a single CPU and have that update the current time into a shared
memory location. This option pins a specific CPU for that job, and excludes
it from participating in any of the IO jobs.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
62a7273db5a50c12b84157ea0c81b8669fd95367 08-Dec-2008 Jens Axboe <jens.axboe@oracle.com> Allow ranges of CPUs in cpus_allowed option

For a larger number of CPUs, it's a bit of a bother having to set
each one individually. Plus, you typically want to bind to a range of
CPUs, to keep the job core local (or whatever your preference). So extend
cpus_allowed to take ranges of CPU numbers as well. Now you can do:

cpus_allowed=0-7

and have your job confined to CPUs 0 through 7.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e3cedca76d9fc104eb4f6f869606fb5bf4c0d59c 19-Nov-2008 Jens Axboe <jens.axboe@oracle.com> Add support for giving bw/clat/slat log prefixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
182ec6ee4e4d79fc5a705cd2e2811fa003add040 14-Nov-2008 Jens Axboe <jens.axboe@oracle.com> Fix leaks with using get_opt_postfix()

It returns a strdup(), so remember to free() the result when done.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
993bf48b48f2d9724afa3698a15070e77bc5d1c0 14-Nov-2008 Jens Axboe <jens.axboe@oracle.com> Add gtod_reduce option

This cuts down even more on gtod() calls. While the three disable_X
options halved the gettimeofday() call count, this can reduce it to
less than 1 percent of what it otherwise would have been.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
9520ebb9f4dd88d086e313ae97e37ebb6d4f240b 16-Oct-2008 Jens Axboe <jens.axboe@oracle.com> Add options for disabling slat/clat/bw measurements

Useful for cutting down on the number of gettimeofday calls in
situations where that does impact performance. This is mostly for
really high IOPS rates.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
721938ae7fae0f6d470a7e32e177ea5dce480229 10-Sep-2008 Jens Axboe <jens.axboe@oracle.com> Add ramp_time option

Sometimes it's useful to let a job settle for a little while
before taking any measurements on latency and throughput, since
the initial rate on eg a write workload may be much higher than
the longer sustained rate.

So add a ramp_time option that allows the user to specify a lead
ramp time that must have passed before fio takes any performance
numbers into account.

Suggested by "Jenkins, Lee" <Lee.Jenkins@hp.com>

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
af497e6a1d61df088ce1a40f4fd2f38066e694b0 04-Aug-2008 Jens Axboe <jens.axboe@oracle.com> Remember to add crc32c_intel option check

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
bac39e0e8807a1d52863ad8304e67221df2bc63b 11-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Add crc32c checksum

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
3b8b7135602a4d3a7132fee10da9c1203ab643ad 10-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Add option priorities

For instance, filename= must come after directory= or things will
go wrong. So add a priority value to each option, so that the parser
will take that into account.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
f66ab3c819a8bd9eba6e8285d12443e0427e9561 05-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Help entry typos

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
4950421a7e379ba0ca642390ae4ae7b68e92a42f 05-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Add iodepth_batch_complete control

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
eef323596c6c9d39456aba10954bb47c21982d96 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Move fls.h in with the other lib helpers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
3c48c2c1c702047f8a92fa21fdd1471781b9dab4 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Rename fls() to __fls()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
417f006858ec66f0b410c83c2e13da54662048e0 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Add Solaris native aio engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
5921e80c5dfc9f96d2f21da6ae58f2b5d3a0b373 30-May-2008 Jens Axboe <jens.axboe@oracle.com> Make it work on opensolaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
cb499fc4216eb4266c70ae238608f67def1758fe 28-May-2008 Jens Axboe <jens.axboe@oracle.com> Fixup rwmixread/write options

They would always end up as 50/50.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
fcef0b35e58d0d676b1560d563b518212f84e78b 26-May-2008 Jens Axboe <jens.axboe@oracle.com> Remove early directory check

It wont work on FIO_DISKLESSIO engines and the engine isn't loaded
at this point so we cannot check. For now just disable the check.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
5973cafb37fbf24c3ca2cdf86a3d03f1b00d6d2b 21-May-2008 Jens Axboe <jens.axboe@oracle.com> Add option for refilling IO buffers on each submit

If the device looks at whether the data changed, then this can
make a difference.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
15ca150e8dbfd68aa5beb479fcb3f07447417a04 07-Apr-2008 Jens Axboe <jens.axboe@oracle.com> Mark rwmixcycle option as deprecated in the option parser

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
bc8389191e2fda370890bb34928a8b5b6433f199 07-Apr-2008 Jens Axboe <jens.axboe@oracle.com> Need to prefix directory= setting before checking dir part of filename=

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
2b386d2569c9078ca9790c4e6d318ec3835b8739 26-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Add softrandommap and --alloc-size options

The softrandommap job option allows fio to continue if it cannot
allocate from the smalloc backing for the random map. Or the user
can specify --alloc-size with a size larger than the default of 1024k
to increase the size of the shared allocation pool.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
921c766ffda25c6ac23e34a616595da3ed3f27e8 26-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Check directory if filename= option includes dir name

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
5ec10eaad3b09875b91e19a20bbdfa06f2117562 06-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Style fixups

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
4d4e80f2b4260f2c8b37a8612ce655502a799f7a 04-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Revamp file locking

Get rid of the semaphore implementation, no need to carry both.
Add different locking modes (exclusive and readwrite) to enable
a wider range of testing. Also combine lockfile and lockfile_batch,
the latter is now a postfix option to the former.

So to enable readers-excluding-writers locking mode with a lock batch
count of 4, you would write:

lockfile=readwrite:4

instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
29c1349f1840c3f60434c9da602074bc8fde4afe 01-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Add the file sharing bits

When you use the same filename for several jobs now, they will share
the same file structure. Enable locking through two new options:

- lockfile. If set, a semaphore is associated with the file and it is
held from ->prep() to ->queue() has done its work.
- lockfile_batch. This controls how many IOs the job gets to do per
semaphore acqusition.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
357f618e3905a33fcc47f1f72a4657c5fc68c7d7 20-Feb-2008 Aaron Carroll <aaronc@gelato.unsw.edu.au> fix hugepage-size type mismatch

hugepage_size in thread_options is of type int, but listed in
options.c as type long. This patch reconciles the two.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
c475da759dbd06648277060d72dced84bfcde348 06-Feb-2008 Jens Axboe <jens.axboe@oracle.com> Fix misplaced exit(0) in cpus_allowed setting

Must have been a leftover from some debug session. It prevented any
job file with cpus_allowed set from running.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
1d2af02a16fc3c3561c994be4de887b926b2b774 04-Feb-2008 Jens Axboe <jens.axboe@oracle.com> Add vsync io engine

It uses readv/writev to transfer the data and coalesces adjacent
data into a single system call (emulating queueing).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a2e6f8ac56a9b0f519ccc6cd13e76a9b239ba37d 18-Jan-2008 Jens Axboe <jens.axboe@oracle.com> Make iodepth_batch=1 by default

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e28218f3017e5eb156d3a4a6e7b33651dc022cea 16-Jan-2008 Shawn Lewis <shawnlewis@google.com> Revert "Remove verify_pattern option, replace with verify=pattern:x"

This reverts commit bfb41d98f63cb9fb72cb7c82618be10bc6d52c33.

Reverting lets us have verify=meta and specify a verify_pattern at the same
time. Sample surfacescan conf file coming up.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
aa31f1f108348ba2a8749c73fa8c25f3d4630a7c 11-Jan-2008 Shawn Lewis <shawnlewis@google.com> Add fill_device option

Add fill_device option. Causes fio to write until ENOSPC occurs (assuming
rw=write).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
564ca97254984165e06d5fd4b1270bac95ca55fb 14-Dec-2007 Jens Axboe <jens.axboe@oracle.com> Add support for 'bssplit' option, fine grained block size contrl

From the HOWTO addition:

bssplit=str Sometimes you want even finer grained control of the
block sizes issued, not just an even split between them.
This option allows you to weight various block sizes,
so that you are able to define a specific amount of
block sizes issued. The format for this option is:

bssplit=blocksize/percentage:blocksize/percentage

for as many block sizes as needed. So if you want to define
a workload that has 50% 64k blocks, 10% 4k blocks, and
40% 32k blocks, you would write:

bssplit=4k/10:64k/50:32k/40

Ordering does not matter. If the percentage is left blank,
fio will fill in the remaining values evenly. So a bssplit
option like this one:

bssplit=4k/50:1k/:32k/

would have 50% 4k ios, and 25% 1k and 32k ios. The percentages
always add up to 100, if bssplit is given a range that adds
up to more, it will error out.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
757aff4f5cdf8bc1e0720c01564838aed968c1db 12-Dec-2007 Jens Axboe <jens.axboe@oracle.com> '1' is minimum value for queue depth, don't allow 0

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
ac684785b41aaf17593b375be8d3e89b83974c1a 08-Nov-2007 Jens Axboe <jens.axboe@oracle.com> Seperate ioprio value from setting

Newer kernels allow passing a value of '0' for resetting ioprio,
and our check for if (td->ioprio) doesn't allow passing a value of
0 into sys_ioprio_set(). So seperate the setting from the value by
adding a ->ioprio_set bool.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a31041eaf5a306b5f6ad3dd14b60da6212775037 23-Oct-2007 gurudas pai <gurudas.pai@oracle.com> Add pread/pwrite support to sync engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
bfb41d98f63cb9fb72cb7c82618be10bc6d52c33 10-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Remove verify_pattern option, replace with verify=pattern:x

Integrate the pattern verification with the other verify types,
it's much cleaner that way.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
68e1f29afafe560d96ef25267743708e883bea44 10-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Mark do_verify and verify_fatal as booleans

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a12a3b4d8903b9941705067442c2c530a94635f3 09-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Add verify_fatal option

Causes fio to exit after a single block verification failure, instead of
checking the remainder as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
005c565ad012940aa4688de54a49beec26c5b1ad 02-Aug-2007 Jens Axboe <jens.axboe@oracle.com> Note parent option 'verify' for 'do_verify'

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e84c73a89ef19f38e117ed4fae5eb3bd4aee8a81 02-Aug-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Add do_verify option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
7437ee87e4f6457168e8440f9308b4296ddb9263 02-Aug-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Add verify_meta verification type

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
67a1000f49db76ddb18ce9420ba03059af0214b9 31-Jul-2007 Jens Axboe <jens.axboe@oracle.com> More option help updates

Rearrange some of the entries, and add more parent <-> child links.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
c83f2df1802e12f0f67beb3d33486082dba7765d 31-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add parent option to 'verifysort'

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
afdf935261b23cdf08214e708133318548ddf2c4 31-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add parent link to options

Then we can nest display for --cmdhelp=all, to tie options
together.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
cd14cc1079771ece34fce5b30d47c7b273ee56e5 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add sha256 and sha512 checksums

That should suffice...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
86739fcc2fec07b5acd42004fea038e0c3179732 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Remove .maxval from verify_pattern

Let the parser handle it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
90059d65bde4804e4da07401ad6902c1d956b592 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add verify_pattern option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a59e170d683f9ccbaa45648d7ae9a13b70e3822c 30-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Rename header_offset and header_interval options

Header doesn't really express that this has to do with io verification.
So rename the options to verify_offset and verify_interval.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
819a968068aae65bca68ddc7805c01669707b880 28-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Fix header_interval minimum value

It doesn't make sense to have a value of header size or less, since
then there's no room for actual data. Fio even crashes with a value
less than the header size.

Lets just make the minimum twice the header size, seems reasonable...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
546a9142511875524850ac92776184fd9fb7196e 28-Jul-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Offset verification header by a user-specified distance

Offset verification header by user specified distance.

- Implementation is somewhat simple and probably not ideal but it works. The
header is just swapped with the bytes at offset after the chunk has been
filled during populate. Everything is swapped back before verify.

- Also fixes a bug where we were relying on a moving pointer for increment
size in populate_verify_io_u (which was working until this patch).

- Also cleans up a couple smalls things from the header_interval patch.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
3f9f4e2631c4f5d33f125dd71db20c1773d22c91 28-Jul-2007 Shawn Lewis <shawnlewis@google.com> [PATCH] Allow verification to be done at finer granularity

Allow verification to be done at a finer granularity than blocksize.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
fcca4b5848bddb59a38332bf54fcdcc197aa7fae 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Show md5 as first verify function

It's probably the best/fastest choice.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d77a7af3e718200bbd77d76194725ead4bdb3591 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add sample crc64 checksum

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
1e154bdbf14a1d352117aea057035235b66f0381 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add crc7 verify type

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
969f7ed32353ade93ea30542a4993b75b94e3f8a 27-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Add crc16 verify type

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
c3edbdba748e25eb14f3efc648ac0678995f3432 20-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Set minimum value allowed for some options

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
9cce02e89e01984a5bf58e730fb9311dc5273554 22-Jun-2007 Jens Axboe <jens.axboe@oracle.com> Support for 'netsplice' engine

This IO engine does network transfers, but uses splice() to move data
to/from a socket to a pipe and vmsplice() to move that data to/from
user space.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d2e268b09bc8ab95af81e5636608dcd93f40e4c1 15-Jun-2007 Jens Axboe <jens.axboe@oracle.com> Add cpus_allowed option

cpumask can be cumbersome to use, since it requires you to calculate
a decimal mask to pass to fio. So add a cpus_allowed option that
takes a text list of allowed cpus, ala: cpus_allowed=1,3,8 will set
the affinity mask for CPUS 1, 3, and 8.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e600f7f122d344358493f90e9114f9354c63fdfe 13-Jun-2007 Gough, Corey D <corey.d.gough@intel.com> Fix cpu mask setting

Fio passed the mask by value, not by reference. So when
fill_cpu_mask() was done setting the valid CPUs, it was
only on the local value.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
375b2695693f56987e23deef3ded8e5b06ef6797 22-May-2007 Jens Axboe <jens.axboe@oracle.com> Fix cpumask setting/getting on older kernels

Don't call into the affinity functions, unless the user has
specified a mask.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
0a839f308177e95c4c45c41ee1d4fa2b8f231f24 26-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Disk stat improvements

Add an option to disable the disk stats. And only dump the disk
stat header, if we actually have stats to show.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
6cefbe338b159edc9417da5840383765acbd92c7 18-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Mask in BE ioprio class as default

We can't just set the ioprio value, we always have to set a class
as well. If no class is given, just assume it's the default best
effort class we want.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
cf4464ca60ce75ac241c621bc70a2500beeb782f 17-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Add time_based option

This allows fio to keep running, even if the workload has completed.
It will simply restart the workload over and over, for as long as the
runtime setting allows.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e9459e5a14b577ead39d666c051c7ce4db12bc75 17-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Add zero_buffers option

This option will cause all IO buffers to be initialized to all zeroes.
The default is to fill them with random data.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
22d662132577b9950753369c94c2662c64ad7385 27-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Don't free the string options

We need at least ->name, just leave them all alone.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
160b966d83adace2629de10f85ed269ab2e587f5 27-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Improve random verify block sorting

Add an option to control it and also check the nosort flag in file
layout to further catch a case where sorting isn't needed.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
36690c9b5b50736cec1fcd53100f01fd1181fdf4 26-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Add 'null' verify option

For testing purposes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
fafdba3c553305dd8c6b24f8d5ba95a55dee4d48 26-Mar-2007 Jens Axboe <jens.axboe@oracle.com> ->ddir_nr must be 1 by default, otherwise we'll do sequential IO
if no :foo postfix is appended.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d23bb327374520295509bbd98912c8091b701a3e 23-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Free/alloc every FIO_OPT_STR_STORE string

Makes ownership clear, though the freeing is a bit anal.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d2f3ac3592a5674fefa082cb439cc72355d2fed0 22-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Add option to disable fadvise() hints

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
a3dc65e515943b3a292261ba95d643457863d93d 22-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Leftover debug printf()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
211097b2aa664b8c157692a1e2fe656ed4a3488c 22-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Add support for mixing a random IO workload a bit

Now you can append a number to randread/randwrite (and others) to
specify only getting a random offset for every X number of ios.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
e47f799f567508835b60675ed659c97f78e7cc94 21-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Improve rwmix states

We didn't use to look at the previous bytes done for the
data directions, which skewed the mix for buffered IO.
Fix that up.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
b8c82a464aa31d847dad7fad924840d0e55d82b3 21-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Expose guasi IO engine in ioengine=

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
b3d62a759a58bfce1822787874ea6ec8d2a0cb7f 20-Mar-2007 Jens Axboe <jens.axboe@oracle.com> 'new_group' option

By default, jobs in a file are part of the same reporting group
unless seperated by a stone wall or if they define a group by
themselves (numjobs=x is used). Inserting a 'new_group' parameter
in a job description, will mark the start of a new reporting group.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
37c8cdfeb2a551cadb59cee6e116cd543503a453 19-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Revert b370e46b370e46... Put longest options first

This reverts commit b370e46abdd2bfe764e28efb41c4caadc632b937.

We should not have to do this, and the commit was even buggy since
it mistakenly put mmap inside the mmaphuge ifdef section. Just make
parse sort the posval entries.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
b370e46abdd2bfe764e28efb41c4caadc632b937 19-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Put longest options first

We need to have things like shmhuge before shm, otherwise the parser
will match shm. The parser needs to be fixed, this is just a quick fix.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
2dc1bbeb58edc85f2829eed6729862c438ea2353 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Move thread options into a seperate structure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
d3aad8f28b9e214fccfce5e3a406dec723f57a62 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Add some more options for commands

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
4e991c23d2d06484f581eb5e2105bc102cb35941 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Support for setting rated based on IOPS

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c
214e1ecae844a32bf8f66d19132f4948d922dcee 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Split option handling out of init.c

It grew way too large.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/options.c