History log of /external/fio/cconv.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
eda3a60699e1d96bb68875ef2169ca819eb8f4f9 20-May-2017 Elliott Hughes <enh@google.com> Update to fio-2.20.

Bug: N/A
Test: builds, seems to work
Change-Id: I455dcc898f00dc50ae5cb65d1b381982df5a51e0
/external/fio/cconv.c
80ac020b479bd433590d221fcefa3eb47327f9a3 17-Dec-2014 Jens Axboe <axboe@fb.com> gettime-thread: set and allow multiple CPUs

Also use the new option checking framework instead of carrying
a flag for whether it's set or not.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
4b4b0ef2c9fb1f1475b3535008f16cbd3888a904 09-Dec-2014 Jens Axboe <axboe@fb.com> Fix server/client set_options conversion

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
94b360f41976a2bd3c4d3476b5e26a96e1ea9b12 09-Dec-2014 Jens Axboe <axboe@fb.com> Get rid of _set variables

We can just check the option set mask now.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
9c62acd93cd70b6bfd01892b59926c4fb2a3639b 09-Dec-2014 Jens Axboe <axboe@fb.com> options: add support for checking if an option has been set

We often just do a non-zero check, but an option can be set
and be set to zero, so we can't currently detect that. For
complicated options, we add a second variable to mark if it
has been set or not. This allows us to directly check if a
given option was set by the user or not.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
de54cfd8b8e93d2a32a02961f1587b83f0763aa8 11-Nov-2014 Jens Axboe <axboe@fb.com> Add support for verify triggers and verify state saving

This allows you to (for instance) instantly terminate a verify
write workload, and then later that everything was written
correctly up to that very point. This can be useful for testing
powercut scenarios, which is often problematic on storage
devices.

The trigger part is a file based notification scheme, similar
to what is provided for the status dumps. When triggered,
fio will exit immediately and write the verify state safely
to disk. A trigger can be accompanied by a trigger command.
Say you wanted to test powercut safety, the trigger could be
something that immediately cut power to the machine.

The verify state is either saved locally (if run locally),
or saved over the network if run in client/server mode.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
559073f664a872f32632892c560667097b29e963 06-Nov-2014 Jens Axboe <axboe@fb.com> Remove use of OS provided random functions

We added the internal random generator a long time ago, and kept
the OS variant around as an opt-in feature with using use_os_rand=1.
We defaulted to using the fio provided one, and I doubt that
anyone has used the option.

The time has come to kill it.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
e66dac263f65ed4d762299dcdc4f9a6a3fb427a7 22-Sep-2014 Jens Axboe <axboe@fb.com> Basic support for dedupe

This adds and option, dedupe_percentage, that controls how many of
the write IO buffers are identical. For instance, if this is set:

dedupe_percentage=70

then 70% of the write IO buffers will have identical contents. The
specific contents are, as before, controlled by the various options
that set buffer contents or buffer compressibility.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
bac4af11424ddeb340968c4ba4fc88df4f5c1ad0 03-Jul-2014 Jens Axboe <axboe@fb.com> Add support for storing compressed logs

If log_store_compressed is set, fio won't decompress for storing
them in a file. Instead, you can use --inflate-log=logfile.fz to
output the contents to stdout.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
38a812d7fa79a673855efb6324c8fc68b92b89c1 03-Jul-2014 Jens Axboe <axboe@fb.com> Add support for runtime log compression

If log_compression=64M is specified, fio will "bite" off chunks of
the IO logs and runtime compress them with zlib. This can greatly
reduce the amount of memory required to do iops/bw/lat logging of
a run, at the cost of using some background CPU for the compression.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
01f1d15ad8eb284237ba41ab99f27ba8e3552b3c 02-Jul-2014 Jens Axboe <axboe@fb.com> cconv: convert ->log_offset on the wire

Forgotten in commit ae58885234

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.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/cconv.c
3660ceae229f08b4086279be7c82e86926f0304b 15-Apr-2014 Jens Axboe <axboe@fb.com> strcpy: kill last of the suspect ones

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.c
10aa136bddbaa7c845ab4eacb4a9a4a88d6657a3 02-Apr-2014 Jens Axboe <axboe@fb.com> Cleanup symbols that should be static

Run analysis on symbols not used outside of their current file,
turn them into statics.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.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/cconv.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/cconv.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/cconv.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/cconv.c
eb0c74ae74ce458dd55b7a7d11c5ba7ae59bf5ed 11-Feb-2014 Jens Axboe <axboe@fb.com> Plug a free basic memory leaks

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/cconv.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/cconv.c
3c78a83fe8098489706c992d431e466222d94e4c 15-Jan-2014 Jens Axboe <axboe@kernel.dk> server: convert buffer pattern settings across client/server

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/cconv.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/cconv.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/cconv.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/cconv.c
ddf24e42b5f801e6a66f8976c97edcb88080ecdf 09-Aug-2013 Jens Axboe <axboe@kernel.dk> Add number_ios= option

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/cconv.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/cconv.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/cconv.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/cconv.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/cconv.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>
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>
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>
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>
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>
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>
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>
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>
b999b3c74daa2dedd398544e898b54d8b221314c 24-Sep-2012 Jens Axboe <axboe@kernel.dk> server: include new options, bump server rev

Todo: convert the new error additions across the wire.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/cconv.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>
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/cconv.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/cconv.c
ae278f9a37b942132595b339389160a250a966a8 28-Mar-2012 Jens Axboe <axboe@kernel.dk> Add o->lockmem to conversion functions

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/cconv.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/cconv.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/cconv.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/cconv.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>
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>
51167799022df58d45a99bbd7aa9cf81a47c46c9 08-Mar-2012 Jens Axboe <axboe@kernel.dk> Add basic cconv test

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/cconv.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/cconv.c