fio.git
17 years agoHandle short read at the end of file
Jens Axboe [Wed, 28 Mar 2007 09:07:20 +0000 (11:07 +0200)]
Handle short read at the end of file

Currently we don't issue an io operation if offset + buflen
is larger than the file size, but that means we don't reach
the last bit of a file if the size isn't block size aligned.
Instead handle a short read properly. It actually cleans up
the code as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDon't inherit new_group for sub-jobs
Jens Axboe [Wed, 28 Mar 2007 08:04:08 +0000 (10:04 +0200)]
Don't inherit new_group for sub-jobs

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix size setting on raw devices
Jens Axboe [Wed, 28 Mar 2007 07:57:01 +0000 (09:57 +0200)]
Fix size setting on raw devices

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix infinite loop in get_next_file_rr()
Jens Axboe [Wed, 28 Mar 2007 07:33:43 +0000 (09:33 +0200)]
Fix infinite loop in get_next_file_rr()

We need to clear f to NULL before doing a continue on FIO_FILE_DONE.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd a REPORTING-BUGS file
Jens Axboe [Wed, 28 Mar 2007 07:16:08 +0000 (09:16 +0200)]
Add a REPORTING-BUGS file

Often people forget the fio version, job file, or parameters.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoBetter check for not doing a file twice
Jens Axboe [Tue, 27 Mar 2007 18:34:47 +0000 (20:34 +0200)]
Better check for not doing a file twice

Mark it as done when we close it, so we don't open the same
one again.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix bug with not noticing end of file
Jens Axboe [Tue, 27 Mar 2007 18:21:24 +0000 (20:21 +0200)]
Fix bug with not noticing end of file

We repeatedly re-read the last end of a file, instead of skipping
to a new one. The problem was that the offset got turned into a
block number for comparison, so we would screw up if size % bs.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoPrint number of open files in eta dump
Jens Axboe [Tue, 27 Mar 2007 18:20:36 +0000 (20:20 +0200)]
Print number of open files in eta dump

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDon't free the string options
Jens Axboe [Tue, 27 Mar 2007 18:06:25 +0000 (20:06 +0200)]
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>
17 years agoUse clear_error() instead of clearing the error manually
Jens Axboe [Tue, 27 Mar 2007 17:50:11 +0000 (19:50 +0200)]
Use clear_error() instead of clearing the error manually

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAuto limit open files if we get EMFILE
Jens Axboe [Tue, 27 Mar 2007 17:49:31 +0000 (19:49 +0200)]
Auto limit open files if we get EMFILE

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago'opendir' fixes
Jens Axboe [Tue, 27 Mar 2007 17:43:53 +0000 (19:43 +0200)]
'opendir' fixes

- Don't dive into a directory if it isn't a directory
- Dump info on how many files added

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoUpdate fio io engine version
Jens Axboe [Tue, 27 Mar 2007 13:57:19 +0000 (15:57 +0200)]
Update fio io engine version

The interface didn't really change, but if the engine is using
->setup() then it needs updating. Generally it just needs to
remove any code other than the part setting ->real_file_size.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoNo need to return an error from get_file_sizes()
Jens Axboe [Tue, 27 Mar 2007 13:56:10 +0000 (15:56 +0200)]
No need to return an error from get_file_sizes()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoOnly overwrite in layout if needed
Jens Axboe [Tue, 27 Mar 2007 13:52:46 +0000 (15:52 +0200)]
Only overwrite in layout if needed

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDo the invalidate/advise hinting in td_open_file()
Jens Axboe [Tue, 27 Mar 2007 13:38:21 +0000 (15:38 +0200)]
Do the invalidate/advise hinting in td_open_file()

Then we only do it once per file, not twice.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRevamp the file creation code
Jens Axboe [Tue, 27 Mar 2007 13:30:28 +0000 (15:30 +0200)]
Revamp the file creation code

This was long overdue, it's much simpler now and hopefully
less bug prone. Probably a few stray bugs here and there
that needs straightening out, but the end result should
be a lot better.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCleanup generic_file_open()
Jens Axboe [Tue, 27 Mar 2007 11:10:00 +0000 (13:10 +0200)]
Cleanup generic_file_open()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDon't completely fail for block device flushing failure
Jens Axboe [Tue, 27 Mar 2007 10:49:56 +0000 (12:49 +0200)]
Don't completely fail for block device flushing failure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMake sure to set io size on non-files
Jens Axboe [Tue, 27 Mar 2007 10:45:34 +0000 (12:45 +0200)]
Make sure to set io size on non-files

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoTrim the rbtree stuff fio doesn't use
Jens Axboe [Tue, 27 Mar 2007 09:09:40 +0000 (11:09 +0200)]
Trim the rbtree stuff fio doesn't use

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRemove kernel headers from rbtree.h
Jens Axboe [Tue, 27 Mar 2007 09:03:28 +0000 (11:03 +0200)]
Remove kernel headers from rbtree.h

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoGUASI engine: should use log_err() during runtime
Jens Axboe [Tue, 27 Mar 2007 09:04:59 +0000 (11:04 +0200)]
GUASI engine: should use log_err() during runtime

stderr may be redirected somewhere else.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove random verify block sorting
Jens Axboe [Tue, 27 Mar 2007 08:59:49 +0000 (10:59 +0200)]
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>
17 years agoAvoid using the rbtree if we don't have to
Jens Axboe [Tue, 27 Mar 2007 08:36:12 +0000 (10:36 +0200)]
Avoid using the rbtree if we don't have to

Basically reinstate the old logic of not sorting when it's
not a win for reading the data back.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix problems with rb code
Jens Axboe [Tue, 27 Mar 2007 08:21:25 +0000 (10:21 +0200)]
Fix problems with rb code

If the offset match, we must not break. Instead follow the left branch
and things will work as expected.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoUpdate rbtree code
Jens Axboe [Tue, 27 Mar 2007 08:16:21 +0000 (10:16 +0200)]
Update rbtree code

Grab from the later kernels, they embed the color in the pointer
to save some space.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRemove redundant double casts in time functions
Jens Axboe [Tue, 27 Mar 2007 08:03:09 +0000 (10:03 +0200)]
Remove redundant double casts in time functions

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoNULL engine: ->commit() has side effects, make sure it always works
Jens Axboe [Tue, 27 Mar 2007 07:56:08 +0000 (09:56 +0200)]
NULL engine: ->commit() has side effects, make sure it always works

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoInclude syncs in the stored io log
Jens Axboe [Tue, 27 Mar 2007 06:48:48 +0000 (08:48 +0200)]
Include syncs in the stored io log

We want to replay those as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRemove !td->o.read_io_log test that is always true
Jens Axboe [Tue, 27 Mar 2007 06:46:33 +0000 (08:46 +0200)]
Remove !td->o.read_io_log test that is always true

We test it further up.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoOnly call into log_io_piece() when verify is set
Jens Axboe [Tue, 27 Mar 2007 06:32:48 +0000 (08:32 +0200)]
Only call into log_io_piece() when verify is set

Don't know why it currently always logs the IO, it's pretty
pointless.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoGUASI engine: free lingering requests from the buffer on cleanup
Davide Libenzi [Tue, 27 Mar 2007 06:14:13 +0000 (08:14 +0200)]
GUASI engine: free lingering requests from the buffer on cleanup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoGUASI update
Davide Libenzi [Mon, 26 Mar 2007 10:20:49 +0000 (12:20 +0200)]
GUASI update

The GUASI library has been changed to avoid using pthread defaults stacks
(that burns 8MB of VM area for each thread). Also, a new paramter has been
added to guasi_create(), to allow the caller to specify a stack size.
I noticed a different behaviour of FIO in randrw mode, from GUASI to libaio.
In GUASI, the amount of data read is about the same +-2-3% of the amount
of data written. Whereas in libaio, there can be a huge difference between
the two (up to 2-3 times the other). This is consistent.
Besides that, GUASI performance follows pretty much the libaio one, up to
an io-depth of 1000-1500, after that shows about 10-15% less performance.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoNo need to fill random bytes for VERIFY_NULL
Jens Axboe [Mon, 26 Mar 2007 08:32:30 +0000 (10:32 +0200)]
No need to fill random bytes for VERIFY_NULL

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd 'null' verify option
Jens Axboe [Mon, 26 Mar 2007 08:23:34 +0000 (10:23 +0200)]
Add 'null' verify option

For testing purposes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago->ddir_nr must be 1 by default, otherwise we'll do sequential IO
Jens Axboe [Mon, 26 Mar 2007 08:09:12 +0000 (10:09 +0200)]
->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>
17 years agoFix io piece logging to not have O(n) runtime
Jens Axboe [Mon, 26 Mar 2007 07:32:22 +0000 (09:32 +0200)]
Fix io piece logging to not have O(n) runtime

Use an rbtree for that log instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Fri, 23 Mar 2007 17:31:49 +0000 (18:31 +0100)]
Merge branch 'master' of ssh://router/data/git/fio

17 years agoFree/alloc every FIO_OPT_STR_STORE string
Jens Axboe [Fri, 23 Mar 2007 14:57:56 +0000 (15:57 +0100)]
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>
17 years agoMake sure the ->files array is job private
Jens Axboe [Fri, 23 Mar 2007 14:29:45 +0000 (15:29 +0100)]
Make sure the ->files array is job private

Otherwise we introduce differences between threads and processes,
we don't want to do that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix file unlinking
Jens Axboe [Fri, 23 Mar 2007 14:20:54 +0000 (15:20 +0100)]
Fix file unlinking

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix bug with numjobs > 1, directory and filename given
Jens Axboe [Fri, 23 Mar 2007 13:26:23 +0000 (14:26 +0100)]
Fix bug with numjobs > 1, directory and filename given

Reported by gurudas pai <gurudas.pai@oracle.com>

If numjobs > 1, add_job() will append the directory name
several times. Fix this by doing the directory append in
add_file() instead, it cleans up the code as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoPrint help info on huge page shmget() returning EINVAL
Jens Axboe [Fri, 23 Mar 2007 07:23:51 +0000 (08:23 +0100)]
Print help info on huge page shmget() returning EINVAL

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMove the huge page size defines into arch code
Jens Axboe [Fri, 23 Mar 2007 07:23:30 +0000 (08:23 +0100)]
Move the huge page size defines into arch code

It's 2MB on x86-64 by default, and 4MB on x86.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCleanup get_next_offset()
Jens Axboe [Fri, 23 Mar 2007 07:04:27 +0000 (08:04 +0100)]
Cleanup get_next_offset()

Split into two parts, one for generation a random offset, and one
for just setting a new sequential offset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd option to disable fadvise() hints
Jens Axboe [Thu, 22 Mar 2007 18:24:09 +0000 (19:24 +0100)]
Add option to disable fadvise() hints

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoLeftover debug printf()
Jens Axboe [Thu, 22 Mar 2007 18:04:24 +0000 (19:04 +0100)]
Leftover debug printf()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove mixed random append option
Jens Axboe [Thu, 22 Mar 2007 18:01:48 +0000 (19:01 +0100)]
Improve mixed random append option

If we set ->ddir_nr to o.ddir_nr initally, we can remove the double
else in get_next_offset().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd support for mixing a random IO workload a bit
Jens Axboe [Thu, 22 Mar 2007 17:56:45 +0000 (18:56 +0100)]
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>
17 years agoAdd few debug statements and limit thread usage.
Davide Libenzi [Thu, 22 Mar 2007 06:43:55 +0000 (07:43 +0100)]
Add few debug statements and limit thread usage.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAvoid "ts" going out of scope.
Davide Libenzi [Thu, 22 Mar 2007 06:43:50 +0000 (07:43 +0100)]
Avoid "ts" going out of scope.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdapth guasi.c to the new FIO strctures, and free the requests.
Davide Libenzi [Thu, 22 Mar 2007 06:43:07 +0000 (07:43 +0100)]
Adapth guasi.c to the new FIO strctures, and free the requests.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoIntroduce EXTFLAGS and EXTLIBS in Makefile.
Davide Libenzi [Thu, 22 Mar 2007 06:42:57 +0000 (07:42 +0100)]
Introduce EXTFLAGS and EXTLIBS in Makefile.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove data direction runtime logging
Jens Axboe [Wed, 21 Mar 2007 13:20:20 +0000 (14:20 +0100)]
Improve data direction runtime logging

If we cut a data direction short, log that time so we don't
account the full runtime.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove rwmix states
Jens Axboe [Wed, 21 Mar 2007 13:05:39 +0000 (14:05 +0100)]
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>
17 years agoDump actual filename in failure to open
Jens Axboe [Wed, 21 Mar 2007 12:07:54 +0000 (13:07 +0100)]
Dump actual filename in failure to open

Helpful for debugging.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCatch too large memory allocations that cause size_t to wrap
Jens Axboe [Wed, 21 Mar 2007 09:32:54 +0000 (10:32 +0100)]
Catch too large memory allocations that cause size_t to wrap

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoUpdate to guasi 0.5 diff
Davide Libenzi [Wed, 21 Mar 2007 08:15:13 +0000 (09:15 +0100)]
Update to guasi 0.5 diff

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMention GUASI in the HOWTO for the ioengine= option
Jens Axboe [Wed, 21 Mar 2007 07:51:56 +0000 (08:51 +0100)]
Mention GUASI in the HOWTO for the ioengine= option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoExpose guasi IO engine in ioengine=
Jens Axboe [Wed, 21 Mar 2007 07:48:26 +0000 (08:48 +0100)]
Expose guasi IO engine in ioengine=

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoGUASI IO engine
Davide Libenzi [Wed, 21 Mar 2007 07:46:18 +0000 (08:46 +0100)]
GUASI IO engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix divide-by-zero
Jens Axboe [Tue, 20 Mar 2007 13:38:11 +0000 (14:38 +0100)]
Fix divide-by-zero

Another file creation crap out, this really needs a rewrite and
soon.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoWarn if default value is given for string option without value
Jens Axboe [Tue, 20 Mar 2007 13:28:34 +0000 (14:28 +0100)]
Warn if default value is given for string option without value

That would not make sense, as the option would then always be set
and there would be no way to unset it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago'new_group' option
Jens Axboe [Tue, 20 Mar 2007 13:23:26 +0000 (14:23 +0100)]
'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>
17 years agoClear ->file_map after free()
Jens Axboe [Tue, 20 Mar 2007 12:54:53 +0000 (13:54 +0100)]
Clear ->file_map after free()

Just in case...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoSometimes we allocated too little memory for buffers
Jens Axboe [Tue, 20 Mar 2007 12:53:39 +0000 (13:53 +0100)]
Sometimes we allocated too little memory for buffers

Fix it by adding page_mask to the allocation size, then the
alignment is guarenteed to fit.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoPrint clue to reduce queue depth if engine init fails
Jens Axboe [Tue, 20 Mar 2007 09:47:45 +0000 (10:47 +0100)]
Print clue to reduce queue depth if engine init fails

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agolibaio engine: queue init error handling
Jens Axboe [Tue, 20 Mar 2007 09:42:07 +0000 (10:42 +0100)]
libaio engine: queue init error handling

It fails for repeated large io depths, so make sure we retrieve the
error and log it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAlways make sure buffer sizes are aligned for allocation
Jens Axboe [Tue, 20 Mar 2007 09:33:11 +0000 (10:33 +0100)]
Always make sure buffer sizes are aligned for allocation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFile creation fix
Jens Axboe [Tue, 20 Mar 2007 09:11:07 +0000 (10:11 +0100)]
File creation fix

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago'dev' is 'stdev' in the print out now
Jens Axboe [Tue, 20 Mar 2007 09:02:06 +0000 (10:02 +0100)]
'dev' is 'stdev' in the print out now

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMake sure mmaphuge file backed file is the size we need
Jens Axboe [Mon, 19 Mar 2007 13:00:54 +0000 (14:00 +0100)]
Make sure mmaphuge file backed file is the size we need

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoSort option possible value map
Jens Axboe [Mon, 19 Mar 2007 12:15:23 +0000 (13:15 +0100)]
Sort option possible value map

We need to match longest option first, since we have to use
strncmp() to avoid fiddling with postfix options.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRevert b370e46b370e46... Put longest options first
Jens Axboe [Mon, 19 Mar 2007 12:14:03 +0000 (13:14 +0100)]
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>
17 years agoHelpful indication to run as root
Jens Axboe [Mon, 19 Mar 2007 10:36:36 +0000 (11:36 +0100)]
Helpful indication to run as root

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoNo need to use perror() after td_verror()
Jens Axboe [Mon, 19 Mar 2007 10:32:46 +0000 (11:32 +0100)]
No need to use perror() after td_verror()

That'll just result in the error being displayed twice.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoPut longest options first
Jens Axboe [Mon, 19 Mar 2007 09:51:49 +0000 (10:51 +0100)]
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>
17 years agoWe can't stringify something the parser doesn't handle
Jens Axboe [Mon, 19 Mar 2007 09:50:47 +0000 (10:50 +0100)]
We can't stringify something the parser doesn't handle

The size needs to be written out in full.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove rwmix buffered split
Jens Axboe [Fri, 16 Mar 2007 19:27:27 +0000 (20:27 +0100)]
Improve rwmix buffered split

For buffered IO, the rwmix split can often be grossly unfair
towards reads, because dirtying tons of memory is done much
faster than reading data. Improve the split for such workloads
by not only looking at time.

Note that it'll still be somewhat unfair, there's only so much
we can reliably do. But it's better.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoIf the rate setting is based on IOPS, reflect that in eta output
Jens Axboe [Fri, 16 Mar 2007 09:24:07 +0000 (10:24 +0100)]
If the rate setting is based on IOPS, reflect that in eta output

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoUntangle the file creation mess
Jens Axboe [Thu, 15 Mar 2007 19:49:25 +0000 (20:49 +0100)]
Untangle the file creation mess

Still needs a lot of work, will do a rewrite of this soonish. At
least it should work now.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCompile error with FIO_USE_TIMEOUT defined
Jens Axboe [Thu, 15 Mar 2007 14:04:43 +0000 (15:04 +0100)]
Compile error with FIO_USE_TIMEOUT defined

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMove thread options into a seperate structure
Jens Axboe [Thu, 15 Mar 2007 14:01:33 +0000 (15:01 +0100)]
Move thread options into a seperate structure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd some more options for commands
Jens Axboe [Thu, 15 Mar 2007 13:12:05 +0000 (14:12 +0100)]
Add some more options for commands

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoShow alias in command help
Jens Axboe [Thu, 15 Mar 2007 13:11:38 +0000 (14:11 +0100)]
Show alias in command help

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoStyle cleanup
Jens Axboe [Thu, 15 Mar 2007 13:11:10 +0000 (14:11 +0100)]
Style cleanup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCommand help match also on aliases
Jens Axboe [Thu, 15 Mar 2007 13:09:28 +0000 (14:09 +0100)]
Command help match also on aliases

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMove setup_rate() out of log.c
Jens Axboe [Thu, 15 Mar 2007 11:09:57 +0000 (12:09 +0100)]
Move setup_rate() out of log.c

Dunno why it ended up in there, doesn't make any sense.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove rate accounting
Jens Axboe [Thu, 15 Mar 2007 11:09:39 +0000 (12:09 +0100)]
Improve rate accounting

Don't assume usec_sleep() is extremely precise.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoSupport for setting rated based on IOPS
Jens Axboe [Thu, 15 Mar 2007 10:41:11 +0000 (11:41 +0100)]
Support for setting rated based on IOPS

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoblockdev_invalidate_cache(): return -1 for error
Jens Axboe [Thu, 15 Mar 2007 10:35:33 +0000 (11:35 +0100)]
blockdev_invalidate_cache(): return -1 for error

This follows the normal system calls, and makes fio pickup errno
appropriately.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFailure to put job in add_job() failure case
Jens Axboe [Thu, 15 Mar 2007 10:06:32 +0000 (11:06 +0100)]
Failure to put job in add_job() failure case

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoSplit option handling out of init.c
Jens Axboe [Thu, 15 Mar 2007 09:48:13 +0000 (10:48 +0100)]
Split option handling out of init.c

It grew way too large.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMore file creation improvements
Jens Axboe [Thu, 15 Mar 2007 08:35:56 +0000 (09:35 +0100)]
More file creation improvements

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRemember to account for existing files in size setup
Jens Axboe [Thu, 15 Mar 2007 08:33:15 +0000 (09:33 +0100)]
Remember to account for existing files in size setup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoUse log_info() throughout
Jens Axboe [Thu, 15 Mar 2007 08:22:23 +0000 (09:22 +0100)]
Use log_info() throughout

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agosiint range parsing HOWTO update
Jens Axboe [Thu, 15 Mar 2007 08:15:51 +0000 (09:15 +0100)]
siint range parsing HOWTO update

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAccept '-' as siint delimter as well.
Jens Axboe [Thu, 15 Mar 2007 08:15:12 +0000 (09:15 +0100)]
Accept '-' as siint delimter as well.

Hope this doesn't break any parsing...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd 'filesize' option
Jens Axboe [Thu, 15 Mar 2007 08:14:47 +0000 (09:14 +0100)]
Add 'filesize' option

Allows the user to define the range of file sizes generated.

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