fio.git
16 years agoFix memory overflow bugs
Jens Axboe [Thu, 19 Jul 2007 12:50:05 +0000 (14:50 +0200)]
Fix memory overflow bugs

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16.7 fio-1.16.7
Jens Axboe [Thu, 19 Jul 2007 12:22:50 +0000 (14:22 +0200)]
Fio 1.16.7

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMake a note of Mandriva package availability
Jens Axboe [Thu, 19 Jul 2007 12:21:08 +0000 (14:21 +0200)]
Make a note of Mandriva package availability

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bad alignment in buffer size allocation
Jens Axboe [Thu, 19 Jul 2007 08:17:09 +0000 (10:17 +0200)]
Fix bad alignment in buffer size allocation

We typically end up allocating a block more than we need. Usually
not a problem for normal memory, but when we are dealing with
scarce resources such as hugepages, it can be problematic. For many
threads the memory waste could also be a problem.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd clue for ENOMEM hugepage allocation
Jens Axboe [Thu, 19 Jul 2007 08:09:45 +0000 (10:09 +0200)]
Add clue for ENOMEM hugepage allocation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix typo in shmhuge commit
Jens Axboe [Thu, 19 Jul 2007 08:01:03 +0000 (10:01 +0200)]
Fix typo in shmhuge commit

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDetect and print when the OS doesn't support huge pages
Jens Axboe [Thu, 19 Jul 2007 08:00:05 +0000 (10:00 +0200)]
Detect and print when the OS doesn't support huge pages

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agogit:// url location change
Jens Axboe [Wed, 18 Jul 2007 11:51:19 +0000 (13:51 +0200)]
git:// url location change

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16.6 fio-1.16.6
Jens Axboe [Fri, 6 Jul 2007 12:24:19 +0000 (14:24 +0200)]
Fio 1.16.6

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bug with FIO_IO_U_M/U_NR being transposed
Jens Axboe [Fri, 6 Jul 2007 12:09:49 +0000 (14:09 +0200)]
Fix bug with FIO_IO_U_M/U_NR being transposed

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoGuard __must_check ifdef
Jens Axboe [Sun, 24 Jun 2007 20:41:27 +0000 (22:41 +0200)]
Guard __must_check ifdef

Some systems seem to pick up the kernel definitions, so check
if __must_check is defined before (potentially) redefining it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agonet engine: cleanup the splice handling
Jens Axboe [Sun, 24 Jun 2007 19:41:46 +0000 (21:41 +0200)]
net engine: cleanup the splice handling

The splice and vmsplice bits were largely duplicated, so abstract
the stuff out so it's clearer to see what is going on.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agonet engine: fix listenfd/pipe fd leaks
Jens Axboe [Sun, 24 Jun 2007 19:28:39 +0000 (21:28 +0200)]
net engine: fix listenfd/pipe fd leaks

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agonetsplice: use zero-copy if possible
Jens Axboe [Fri, 22 Jun 2007 18:41:27 +0000 (20:41 +0200)]
netsplice: use zero-copy if possible

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agonetsplice: fix a few typos
Jens Axboe [Fri, 22 Jun 2007 18:40:10 +0000 (20:40 +0200)]
netsplice: fix a few typos

It actually works now.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSupport for 'netsplice' engine
Jens Axboe [Fri, 22 Jun 2007 13:42:21 +0000 (15:42 +0200)]
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>
16 years agoguasi engine: remove STFU_GCC()
Jens Axboe [Tue, 19 Jun 2007 12:25:46 +0000 (14:25 +0200)]
guasi engine: remove STFU_GCC()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16.5 fio-1.16.5
Jens Axboe [Tue, 19 Jun 2007 10:49:52 +0000 (12:49 +0200)]
Fio 1.16.5

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdaptive io latency distrobution "histogram"
Jens Axboe [Tue, 19 Jun 2007 10:48:41 +0000 (12:48 +0200)]
Adaptive io latency distrobution "histogram"

Log ranges all the way down to microseconds, and display the most
appropriate values for those ranges.

This makes the latency usable for sub-milisecond devices as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoHOWTO: note that clat/slat can be in micro or mili seconds
Jens Axboe [Tue, 19 Jun 2007 07:53:31 +0000 (09:53 +0200)]
HOWTO: note that clat/slat can be in micro or mili seconds

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoio_u_mark_depth: just set index, don't fall through
Jens Axboe [Tue, 19 Jun 2007 07:50:28 +0000 (09:50 +0200)]
io_u_mark_depth: just set index, don't fall through

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoCleanup msec <-> usec lat conversion
Jens Axboe [Tue, 19 Jun 2007 07:48:44 +0000 (09:48 +0200)]
Cleanup msec <-> usec lat conversion

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agolibaio engine: print warning for depth > 1 and buffered IO
Jens Axboe [Mon, 18 Jun 2007 07:48:57 +0000 (09:48 +0200)]
libaio engine: print warning for depth > 1 and buffered IO

Linux aio doesn't support queued buffered IO, it has to be
O_DIRECT. So print a warning to that effect, so that users
of fio don't get bad results by mistake.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMake completion and submission latency use appropriate time base
Jens Axboe [Mon, 18 Jun 2007 07:41:23 +0000 (09:41 +0200)]
Make completion and submission latency use appropriate time base

It's hardcoded as msecs right now, switch the accounting to usecs
and print out the appropriate base determined by the value range.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd cpus_allowed option
Jens Axboe [Fri, 15 Jun 2007 08:33:49 +0000 (10:33 +0200)]
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>
16 years agoFio 1.16.4 fio-1.16.4
Jens Axboe [Thu, 14 Jun 2007 06:17:08 +0000 (08:17 +0200)]
Fio 1.16.4

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoHOWTO: expand the cpumask explanation a bit
Jens Axboe [Wed, 13 Jun 2007 19:00:46 +0000 (21:00 +0200)]
HOWTO: expand the cpumask explanation a bit

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Wed, 13 Jun 2007 18:58:09 +0000 (20:58 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

16 years agoFix cpu mask setting
Gough, Corey D [Wed, 13 Jun 2007 18:58:01 +0000 (20:58 +0200)]
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>
16 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Wed, 13 Jun 2007 17:04:20 +0000 (19:04 +0200)]
Merge branch 'master' of ssh://router/data/git/fio

16 years agosplice engine: support for vmsplice to user space
Jens Axboe [Wed, 13 Jun 2007 17:04:16 +0000 (19:04 +0200)]
splice engine: support for vmsplice to user space

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosplice flags are unsigned int, not unsigned long
Jens Axboe [Fri, 8 Jun 2007 09:24:58 +0000 (11:24 +0200)]
splice flags are unsigned int, not unsigned long

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDocumentation update
Jens Axboe [Fri, 25 May 2007 07:26:05 +0000 (09:26 +0200)]
Documentation update

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16.3 fio-1.16.3
Jens Axboe [Thu, 24 May 2007 08:34:30 +0000 (10:34 +0200)]
Fio 1.16.3

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoTweak meaning of size option
Jens Axboe [Thu, 24 May 2007 08:32:47 +0000 (10:32 +0200)]
Tweak meaning of size option

Consider it the full amount of IO to be done, even if the
files used are smaller. Then we'll just restart the workload
until we reach the desired number of bytes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bug with time_based run
Jens Axboe [Wed, 23 May 2007 07:34:42 +0000 (09:34 +0200)]
Fix bug with time_based run

We need to clear the FIO_FILE_DONE flag and the number of
files done, to avoid do_io() exiting quickly for a re-run.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16.2 fio-1.16.2
Jens Axboe [Tue, 22 May 2007 15:07:44 +0000 (17:07 +0200)]
Fio 1.16.2

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd comment in os/os-linux.h wrt glibc-2.3.2
Jens Axboe [Tue, 22 May 2007 15:06:24 +0000 (17:06 +0200)]
Add comment in os/os-linux.h wrt glibc-2.3.2

It was a broken release wrt cpu affinity, they removed the
size argument from the set/get functions. If you want to
compile on such an ancient glibc, manually define GLIBC_2_3_2.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix build on older systems
Jens Axboe [Tue, 22 May 2007 13:51:50 +0000 (15:51 +0200)]
Fix build on older systems

Avoid conflict with MINOR/MAJOR.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix build/compile for non-blktrace platforms
Jens Axboe [Tue, 22 May 2007 11:27:30 +0000 (13:27 +0200)]
Fix build/compile for non-blktrace platforms

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoIO verification needs to open and grab a reference to a file
Jens Axboe [Tue, 22 May 2007 09:12:13 +0000 (11:12 +0200)]
IO verification needs to open and grab a reference to a file

Otherwise it can disappear in midair.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bug with random IO and network connections
Jens Axboe [Tue, 22 May 2007 07:21:37 +0000 (09:21 +0200)]
Fix bug with random IO and network connections

It isn't a supported configuration.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate HOWTO on cpumask setting
Jens Axboe [Tue, 22 May 2007 07:13:31 +0000 (09:13 +0200)]
Update HOWTO on cpumask setting

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix cpumask setting/getting on older kernels
Jens Axboe [Tue, 22 May 2007 07:13:02 +0000 (09:13 +0200)]
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>
16 years agommap engine: fix open-for-size check
Jens Axboe [Mon, 21 May 2007 12:52:43 +0000 (14:52 +0200)]
mmap engine: fix open-for-size check

Don't call into mmap() yet, since we didn't setup ->io_size.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAttempt to work-around possible time warp
Jens Axboe [Mon, 21 May 2007 12:27:32 +0000 (14:27 +0200)]
Attempt to work-around possible time warp

A theory - we see gettimeofday() going backwards on some
systems, try and correct for that by just returning 0
for time passed.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoImprove random pattern without norandommap
Jens Axboe [Mon, 21 May 2007 11:23:30 +0000 (13:23 +0200)]
Improve random pattern without norandommap

Using the random map, random workloads have a natural tendency to
get less random at the end of the run, due to failures to find a
new unused random offset.

Improve the logic to avoid this problem.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRename ffz() function to fio_ffz() to avoid conflicts
Jens Axboe [Mon, 21 May 2007 09:42:33 +0000 (11:42 +0200)]
Rename ffz() function to fio_ffz() to avoid conflicts

Newer gcc/glibc include an ffz function. Lets just do the easy
thing and rename ours to fio_ffz(), then we can look into reusing
a provided one later if necessary.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support: major/minor fixups
Jens Axboe [Wed, 16 May 2007 16:28:47 +0000 (18:28 +0200)]
blktrace support: major/minor fixups

We get passed the kernel variant, so we need a bit of manual
support to untangle it (major() and minor() wont cut it).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support: support for looking up a device
Jens Axboe [Wed, 16 May 2007 12:40:29 +0000 (14:40 +0200)]
blktrace support: support for looking up a device

We can get the device number out of the trace, turn that into
a major/minor pair and look it up in /dev.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support: discard notify messages
Jens Axboe [Wed, 16 May 2007 10:29:06 +0000 (12:29 +0200)]
blktrace support: discard notify messages

They are not interesting to us (they contain things like timestamps
and process information).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support: fixups/cleanups/improvements
Jens Axboe [Wed, 16 May 2007 10:16:44 +0000 (12:16 +0200)]
blktrace support: fixups/cleanups/improvements

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofifo updates
Jens Axboe [Wed, 16 May 2007 09:54:43 +0000 (11:54 +0200)]
fifo updates

16 years agoFix timeout on 64-bit BE archs
Jens Axboe [Wed, 16 May 2007 06:59:27 +0000 (08:59 +0200)]
Fix timeout on 64-bit BE archs

We stored the timeout in an unsigned long long pointer, but
the value was really unsigned long.

16 years agoFix fifo leak
Jens Axboe [Wed, 16 May 2007 07:26:23 +0000 (09:26 +0200)]
Fix fifo leak

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support: speedup reading of data
Jens Axboe [Wed, 16 May 2007 07:25:09 +0000 (09:25 +0200)]
blktrace support: speedup reading of data

We used to read in data in really small chunks (48 bytes at the time,
the size of the trace). This is really slow for large traces, so
add a fifo frontend to refill the cache in much larger sizes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support: adjust largest io_u buffer size to match trace
Jens Axboe [Wed, 16 May 2007 06:47:46 +0000 (08:47 +0200)]
blktrace support: adjust largest io_u buffer size to match trace

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace replay: delay support
Jens Axboe [Tue, 15 May 2007 12:29:58 +0000 (14:29 +0200)]
blktrace replay: delay support

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace fixup + documentation
Jens Axboe [Tue, 15 May 2007 11:23:19 +0000 (13:23 +0200)]
blktrace fixup + documentation

Add a little documentation on using blktrace data files.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support now works
Jens Axboe [Tue, 15 May 2007 11:10:41 +0000 (13:10 +0200)]
blktrace support now works

One little buglet - the blktrace offset is the sector, not the
byte offset. For now it's hardcoded at 512, should really get
the value from the device.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace support update
Jens Axboe [Tue, 15 May 2007 09:54:21 +0000 (11:54 +0200)]
blktrace support update

This should essentially work, except that it will not delay between
io but just issue the entries as fast as it can. Missing bits:

- Utilize the ipo->delay to suitably delay issuing an io
- Extract device name from blktrace file
- Document it

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoiolog bug: TD_DDIR_READ should be TD_DDIR_WRITE
Jens Axboe [Tue, 15 May 2007 09:12:19 +0000 (11:12 +0200)]
iolog bug: TD_DDIR_READ should be TD_DDIR_WRITE

It's a typo, if we don't have reads stored but writes, then the
global direction should naturally be TD_DDIR_WRITE.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix typo in blktrace code
Jens Axboe [Tue, 15 May 2007 08:13:04 +0000 (10:13 +0200)]
Fix typo in blktrace code

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSome more bits of blktrace support
Jens Axboe [Tue, 15 May 2007 08:12:26 +0000 (10:12 +0200)]
Some more bits of blktrace support

Basic read/write is there. Still need to extract device name from
the trace, and check time delays to wait appropriately.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoInitial blktrace support
Jens Axboe [Tue, 15 May 2007 06:44:04 +0000 (08:44 +0200)]
Initial blktrace support

This doesn't work yet, just committing what little bits I did as not
to lose them.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoLog error on io buffer allocation
Jens Axboe [Thu, 26 Apr 2007 13:24:20 +0000 (15:24 +0200)]
Log error on io buffer allocation

Currently it just exits silently.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAllow termination during io_u building
Jens Axboe [Thu, 26 Apr 2007 11:47:07 +0000 (13:47 +0200)]
Allow termination during io_u building

If we are setting up gigabytes of io buffers, it can take many seconds
for that operation to complete. If the user wishes to abort, fio wont
honor that request. Fix that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16.1 fio-1.16.1
Jens Axboe [Thu, 26 Apr 2007 08:22:16 +0000 (10:22 +0200)]
Fio 1.16.1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bug with file references
Jens Axboe [Thu, 26 Apr 2007 08:21:15 +0000 (10:21 +0200)]
Fix bug with file references

This could cause premature exit of fio with an error at the end of
the run.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDisk stat improvements
Jens Axboe [Thu, 26 Apr 2007 07:02:34 +0000 (09:02 +0200)]
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>
16 years agoMore iolog fixes
Jens Axboe [Wed, 25 Apr 2007 12:24:12 +0000 (14:24 +0200)]
More iolog fixes

- Warn if nrfiles > 1, so that the user knows it's not supported
- Need to clear ipo on malloc, or ->file could be some random value.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix read_iolog
Jens Axboe [Wed, 25 Apr 2007 12:11:18 +0000 (14:11 +0200)]
Fix read_iolog

Caveat - it only works with 1 file, unfortunately. Will need a format
change to get that right.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.16 fio-1.16
Jens Axboe [Wed, 25 Apr 2007 06:41:04 +0000 (08:41 +0200)]
Fio 1.16

Mainly minor bug fixes, but also a few features.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFio is also available over http://
Jens Axboe [Mon, 23 Apr 2007 16:54:55 +0000 (18:54 +0200)]
Fio is also available over http://

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix file unlinking
Jens Axboe [Thu, 19 Apr 2007 14:31:16 +0000 (16:31 +0200)]
Fix file unlinking

We never set FIO_FILE_UNLINK. Just unlink if it's a regular
file and unlink=1 was given.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix command line parsing bug
Jens Axboe [Thu, 19 Apr 2007 07:53:28 +0000 (09:53 +0200)]
Fix command line parsing bug

The first parameters are for the global job, if no --name section
has been seen yet. We don't require a --name=global section to appear
first.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix --showcmd bug
Jens Axboe [Thu, 19 Apr 2007 07:41:45 +0000 (09:41 +0200)]
Fix --showcmd bug

Only append 'fio' if this is the first time we see a [] section.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMask in BE ioprio class as default
Jens Axboe [Wed, 18 Apr 2007 10:46:56 +0000 (12:46 +0200)]
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>
17 years agoRevert "We do need to send a SIGQUIT to a process/thread, even if it is running"
Jens Axboe [Wed, 18 Apr 2007 10:25:41 +0000 (12:25 +0200)]
Revert "We do need to send a SIGQUIT to a process/thread, even if it is running"

This reverts commit ef5fffa591e583de26c6ce14f9448104d6dfbe79.

The problem with the commit is that if we SIGQUIT a thread, it
gets exited without updating runtime/etc info. And then we
don't get a new status display on exit.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoHave the job set ->terminate when runtime is exceeded
Jens Axboe [Wed, 18 Apr 2007 07:02:32 +0000 (09:02 +0200)]
Have the job set ->terminate when runtime is exceeded

Then we don't have to do a seperate check for time_based exit.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd time_based option
Jens Axboe [Tue, 17 Apr 2007 18:14:42 +0000 (20:14 +0200)]
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>
17 years agoReplace random constant with the symbolic name (GR prime)
Jens Axboe [Tue, 17 Apr 2007 17:52:18 +0000 (19:52 +0200)]
Replace random constant with the symbolic name (GR prime)

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoIO buffer allocation cleanup
Jens Axboe [Tue, 17 Apr 2007 17:48:46 +0000 (19:48 +0200)]
IO buffer allocation cleanup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd zero_buffers option
Jens Axboe [Tue, 17 Apr 2007 13:46:32 +0000 (15:46 +0200)]
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>
17 years agoReduntant write bit checks
Jens Axboe [Tue, 17 Apr 2007 13:37:47 +0000 (15:37 +0200)]
Reduntant write bit checks

No point in checking for td_rw(td) || td_write(), since td_write()
will also be true for td_rw().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoWe do need to send a SIGQUIT to a process/thread, even if it is running
Jens Axboe [Tue, 17 Apr 2007 11:42:47 +0000 (13:42 +0200)]
We do need to send a SIGQUIT to a process/thread, even if it is running

It could be stuck in a syscall, and not abort on its own.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoLog and dump short ios
Jens Axboe [Tue, 17 Apr 2007 11:31:34 +0000 (13:31 +0200)]
Log and dump short ios

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoIf writing to stdout, move stat output to stderr
Jens Axboe [Tue, 17 Apr 2007 11:27:32 +0000 (13:27 +0200)]
If writing to stdout, move stat output to stderr

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoBetter checks for disk util init
Jens Axboe [Tue, 17 Apr 2007 07:06:43 +0000 (09:06 +0200)]
Better checks for disk util init

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoNo need to check for type before doing fsync()
Jens Axboe [Tue, 17 Apr 2007 07:05:10 +0000 (09:05 +0200)]
No need to check for type before doing fsync()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd support for using '-' as filename for stdin/stdout
Jens Axboe [Mon, 16 Apr 2007 19:54:24 +0000 (21:54 +0200)]
Add support for using '-' as filename for stdin/stdout

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix problem with f->last_completed_pos not being correct on requeues
Jens Axboe [Mon, 16 Apr 2007 19:39:33 +0000 (21:39 +0200)]
Fix problem with f->last_completed_pos not being correct on requeues

This causes an unnecessary seek. Usually this is just noise, but if
the device isn't seekable, it becomes a real problem.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd check for pipe/fifo files
Jens Axboe [Mon, 16 Apr 2007 18:42:33 +0000 (20:42 +0200)]
Add check for pipe/fifo files

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoWarn more gently if the kernel is too old for io scheduler switching
Jens Axboe [Mon, 16 Apr 2007 10:56:00 +0000 (12:56 +0200)]
Warn more gently if the kernel is too old for io scheduler switching

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFio 1.15.2 fio-1.15.2
Jens Axboe [Mon, 16 Apr 2007 07:48:53 +0000 (09:48 +0200)]
Fio 1.15.2

Fixes:

- Segfault on stonewall option issues
- Disk utilization on raw devices on Linux
- Parsing fixes (blank at front/end, comments)
- --showcmd option, turning a job file into a command line
- Update to work with newest GUASI
- File creation problem.
- disk-less IO engine init clean

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoPut the ->real_file_size handling into fio
Jens Axboe [Thu, 12 Apr 2007 11:02:38 +0000 (13:02 +0200)]
Put the ->real_file_size handling into fio

Then we can remove it from the io engines, where the disk-less IO
engines provided a ->setup() hook just to set that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoA ->close_file() operation isn't strictly needed
Jens Axboe [Thu, 12 Apr 2007 10:57:27 +0000 (12:57 +0200)]
A ->close_file() operation isn't strictly needed

So be sure to check the pointer before calling it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFor non-file engines, set ->real_file_size if total size is known
Jens Axboe [Wed, 11 Apr 2007 19:20:03 +0000 (21:20 +0200)]
For non-file engines, set ->real_file_size if total size is known

Fixes a segfault with rand* directions.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix bug with stonewall option causing segfault
gurudas pai [Wed, 11 Apr 2007 10:44:27 +0000 (12:44 +0200)]
Fix bug with stonewall option causing segfault

fio core dumped , with stonewall,

[global]
ioengine=libaio
direct=1
bs=8k
iodepth=1024
iodepth_batch=60
randrepeat=1
size=1024m
directory=/home/oracle
[job1]
rw=randread
filename=file1
[job2]
rw=randwrite
filename=file1

stonewall

[job3]
rw=randread
filename=file1
[job4]
rw=randwrite
filename=file1

 >fio myjob
job1: (g=0): rw=randread, bs=8K-8K/8K-8K, ioengine=libaio, iodepth=1024
job2: (g=1): rw=randwrite, bs=8K-8K/8K-8K, ioengine=libaio, iodepth=1024
job3: (g=1): rw=randread, bs=8K-8K/8K-8K, ioengine=libaio, iodepth=1024
job4: (g=1): rw=randwrite, bs=8K-8K/8K-8K, ioengine=libaio, iodepth=1024
Starting 4 processes
Quit (core dumped)PP] [99.3% done] [  1298/     0 kb/s] [eta 00m:03s]

(gdb) bt
t_rate=0xfeeee790, m_rate=0xfeeee794) at fio.c:1011

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix problem with treating ENOENT as an error
Jens Axboe [Wed, 11 Apr 2007 10:43:35 +0000 (12:43 +0200)]
Fix problem with treating ENOENT as an error

It's just a zero-sized file, as far as get_file_sizes() is concerned.

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