fio.git
16 years agoFio 1.18.1 fio-1.18.1
Jens Axboe [Mon, 18 Feb 2008 19:00:08 +0000 (20:00 +0100)]
Fio 1.18.1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix typo in mark_random_map()
Jens Axboe [Mon, 18 Feb 2008 13:14:53 +0000 (14:14 +0100)]
Fix typo in mark_random_map()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix random location generation with offset != 0
Jens Axboe [Mon, 18 Feb 2008 13:13:08 +0000 (14:13 +0100)]
Fix random location generation with offset != 0

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofio: HOWTO update
Gurudas Pai [Fri, 8 Feb 2008 07:50:14 +0000 (08:50 +0100)]
fio: HOWTO update

In case of  cpuio , on smp machines we need increase numjobs
to <num of cpu's> to get the desired load across cpu's.
Just updated HOWTO with this info.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoVerify doesn't really work on mixed read/write workloads, so warn
Jens Axboe [Wed, 6 Feb 2008 13:40:14 +0000 (14:40 +0100)]
Verify doesn't really work on mixed read/write workloads, so warn

Unless the file is pre-populated, this cannot work. So warn the user
of such a bad construct, since the warning he/she receives from fio
only tells you about a verification error (which, technically, is what
is happening).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix misplaced exit(0) in cpus_allowed setting
Jens Axboe [Wed, 6 Feb 2008 13:17:30 +0000 (14:17 +0100)]
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>
16 years agofio: minor HOWTO fix
Gurudas Pai [Wed, 6 Feb 2008 10:16:15 +0000 (11:16 +0100)]
fio: minor HOWTO fix

writev(3) should be writev(2)

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoman page update
Jens Axboe [Tue, 5 Feb 2008 11:02:07 +0000 (12:02 +0100)]
man page update

--debug command line and bssplit job option missing. Add vsync io engine
and clarify bssrange.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.18 fio-1.18
Jens Axboe [Tue, 5 Feb 2008 09:23:54 +0000 (10:23 +0100)]
Fio 1.18

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix offset retrieval problem for read and write having different bs ranges
Jens Axboe [Tue, 5 Feb 2008 09:05:50 +0000 (10:05 +0100)]
Fix offset retrieval problem for read and write having different bs ranges

"Zhang, Yanmin" <yanmin_zhang@linux.intel.com> reported that fio got
stuck with a job file that had different read and write block size
ranges. The problem is that get_next_offset() didn't take the data
direction into account, so when it generated an offset close to the
end of the file, it may not have been legal for that data direction.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoparser: always set off3/4 even if we have more
Jens Axboe [Tue, 5 Feb 2008 08:57:39 +0000 (09:57 +0100)]
parser: always set off3/4 even if we have more

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosync engine: missing fsync check in vsync
Jens Axboe [Mon, 4 Feb 2008 14:58:24 +0000 (15:58 +0100)]
sync engine: missing fsync check in vsync

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd vsync io engine
Jens Axboe [Mon, 4 Feb 2008 09:59:07 +0000 (10:59 +0100)]
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>
16 years agoImprove depth marking
Jens Axboe [Mon, 4 Feb 2008 09:56:26 +0000 (10:56 +0100)]
Improve depth marking

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDecrement io_issue count when requeuing an io_u
Jens Axboe [Mon, 4 Feb 2008 09:56:07 +0000 (10:56 +0100)]
Decrement io_issue count when requeuing an io_u

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd debug trace for io_u_queue_complete()
Jens Axboe [Mon, 4 Feb 2008 09:49:41 +0000 (10:49 +0100)]
Add debug trace for io_u_queue_complete()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDon't allow FIO_SYNCIO io engine flag to override queue depth
Jens Axboe [Mon, 4 Feb 2008 09:48:13 +0000 (10:48 +0100)]
Don't allow FIO_SYNCIO io engine flag to override queue depth

Another bad check, just kill it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosync engine: cleanup psync/sync seperation
Jens Axboe [Mon, 4 Feb 2008 08:35:30 +0000 (09:35 +0100)]
sync engine: cleanup psync/sync seperation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDon't force iodepth == 1 for SYNC io engine
Jens Axboe [Mon, 4 Feb 2008 08:35:03 +0000 (09:35 +0100)]
Don't force iodepth == 1 for SYNC io engine

Most will not do queuing, but allow it to be set in case some of
them do.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bug in fio mutex initialization
Zhang, Yanmin [Mon, 4 Feb 2008 08:17:52 +0000 (09:17 +0100)]
Fix bug in fio mutex initialization

Fio sem->cond isn't initialized properly.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMerge branch 'master' of ssh://git.kernel.dk/data/git/fio
Jens Axboe [Fri, 1 Feb 2008 20:51:29 +0000 (21:51 +0100)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio

16 years agoA few debug debug log fixes
Jens Axboe [Fri, 1 Feb 2008 20:51:02 +0000 (21:51 +0100)]
A few debug debug log fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd option for not including the tracing stuff
Jens Axboe [Fri, 1 Feb 2008 19:37:09 +0000 (20:37 +0100)]
Add option for not including the tracing stuff

It eats some space.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd blktrace and verify debug tracing
Jens Axboe [Fri, 1 Feb 2008 19:27:52 +0000 (20:27 +0100)]
Add blktrace and verify debug tracing

Also add "all" as a keyword for setting all values, and pretty up
the output a bit by justifying and aligning the output.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoCPU burn engine fix
Jens Axboe [Fri, 1 Feb 2008 17:33:23 +0000 (18:33 +0100)]
CPU burn engine fix

It's ok to have zero buflen, if we are not doing real IO.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoA bunch of fixes
Jens Axboe [Fri, 1 Feb 2008 12:16:38 +0000 (13:16 +0100)]
A bunch of fixes

Really should have been split up, but...

- Check this_io_bytes at the bottom of do_io() so that async engines
  have a chance to queue pending IO before deeming this job done.

- dprint() should use log_info(), may not be stdout we want.

- last block bug in get_next_free_block(), if max blocks wasn't a
  multiple of the bitmap size.

- Add more debug points.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoTypo in 'init' debug option mask
Jens Axboe [Fri, 1 Feb 2008 12:12:28 +0000 (13:12 +0100)]
Typo in 'init' debug option mask

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd --debug for enabling internal dumps on various actions
Jens Axboe [Fri, 1 Feb 2008 09:30:20 +0000 (10:30 +0100)]
Add --debug for enabling internal dumps on various actions

A little weak currently, when it's fully integrated everywhere in
fio it'll help find fio problems that I can't trigger.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoStop job if it fails to do any IO for a new invocation
Jens Axboe [Fri, 1 Feb 2008 08:29:35 +0000 (09:29 +0100)]
Stop job if it fails to do any IO for a new invocation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.17.3 fio-1.17.3
Jens Axboe [Thu, 31 Jan 2008 13:39:16 +0000 (14:39 +0100)]
Fio 1.17.3

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Thu, 31 Jan 2008 12:28:40 +0000 (13:28 +0100)]
Merge branch 'master' of ssh://router/data/git/fio

16 years agoFix wrong accouning of zone bytes
Jens Axboe [Thu, 31 Jan 2008 12:25:42 +0000 (13:25 +0100)]
Fix wrong accouning of zone bytes

Ryan Thomas <Ryan.Thomas@nuance.com> writes:

**********

With the following job description

[global]
bs=1k
direct=1
rw=read
ioengine=libaio
iodepth=2
zonesize=1k
zoneskip=1023k
write_bw_log

[/dev/cciss/c0d1]
write_iolog=foo2

The idea here is that I wanted to line up my zones to start at 1M
boundaries across the disk by writing 1k and skipping the next 1023k.
In practice I don't get the alignment because of an extra initial I/O.
I get an iolog that looks like

fio version 2 iolog
/dev/cciss/c0d1 add
/dev/cciss/c0d1 open
/dev/cciss/c0d1 read 0 1024
/dev/cciss/c0d1 read 1024 1024
/dev/cciss/c0d1 read 1049600 1024
/dev/cciss/c0d1 read 2098176 1024

There's a read that I don't expect in that log, namely the read starting
at byte 1024.  Because that read is there, the disk zones get offset by
one block.  I expected output like

fio version 2 iolog
/dev/cciss/c0d1 add
/dev/cciss/c0d1 open
/dev/cciss/c0d1 read 0 1024
/dev/cciss/c0d1 read 1048576 1024
/dev/cciss/c0d1 read 2097152 1024
/dev/cciss/c0d1 read 3145728 1024

***********

The problem is due to the fact that fio account zone_bytes when the IO
completes, which is clearly not correct for io depth > 1. So move the
accounting to when we fill the io_u instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRandom IO fixes
Jens Axboe [Fri, 25 Jan 2008 13:02:15 +0000 (14:02 +0100)]
Random IO fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMore file extend fixes
Jens Axboe [Thu, 24 Jan 2008 12:13:12 +0000 (13:13 +0100)]
More file extend fixes

Simplify the logic a bit, hope this works...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofile extent fix
Gurudas Pai [Thu, 24 Jan 2008 12:04:44 +0000 (13:04 +0100)]
file extent fix

I ran a test with latest fio using jobfile,

[global]
size=10m
[job1]
ioengine=sync
rw=write
filename=testfile

And second time,
[global]
size=30m --> size increased.
[job1]
ioengine=sync
rw=write
filename=testfile

fio did not extend the file to 30m.

In case of f->file_offset=0, f->io_size equals to f->real_file_size, hence no extend.
Following patch worked for me. But this patch will not handle the case where we have
to extend a file and with offset :(

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate iodepth_batch documentation
Jens Axboe [Fri, 18 Jan 2008 09:30:07 +0000 (10:30 +0100)]
Update iodepth_batch documentation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMake iodepth_batch=1 by default
Jens Axboe [Fri, 18 Jan 2008 09:28:11 +0000 (10:28 +0100)]
Make iodepth_batch=1 by default

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agolibio: fix bug in commit hook
Jens Axboe [Fri, 18 Jan 2008 09:26:58 +0000 (10:26 +0100)]
libio: fix bug in commit hook

Also simplifies it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosurface-scan: make bs 64k again
Jens Axboe [Wed, 16 Jan 2008 10:10:58 +0000 (11:10 +0100)]
surface-scan: make bs 64k again

I reduced it for testing, put it back at 64k to speed it up.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd sample file for surface scan
Shawn Lewis [Wed, 16 Jan 2008 10:08:03 +0000 (11:08 +0100)]
Add sample file for surface scan

Does a write phase and then a verify phase and verifies the written
data.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRevert "Remove verify_pattern option, replace with verify=pattern:x"
Shawn Lewis [Wed, 16 Jan 2008 10:01:33 +0000 (11:01 +0100)]
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>
16 years agoDon't truncate files if we don't need to extend them
Shawn Lewis [Fri, 11 Jan 2008 08:45:11 +0000 (09:45 +0100)]
Don't truncate files if we don't need to extend them

Don't truncate files if we don't need to extend them.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd fill_device option
Shawn Lewis [Fri, 11 Jan 2008 08:45:11 +0000 (09:45 +0100)]
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>
16 years agofio: Fix for new file creation
Gurudas Pai [Fri, 21 Dec 2007 09:50:33 +0000 (10:50 +0100)]
fio: Fix for new file creation

fio fails to create new file and just comes out without doing anything..
This happens only when you are creating file freshly.

./fio ../jobfile/jobfile.test
job1: (g=0): rw=randrw, bs=8K-8K/8K-8K, ioengine=sync, iodepth=1
Starting 1 process

Run status group 0 (all jobs):

Disk stats (read/write):
  sda: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=0.00%

jobfile:

[global]
 bs=8k
 iodepth_batch=1
 randrepeat=1
 size=100m
 [job1]
 ioengine=sync
 rw=randrw
 filename=newfile

Manually bisected it to commit 509eab12448823a8eefbe925804b5308ee63bf5e
Here is the patch which fixed the issue for me. Please review and apply.
In case of new file "f->io_size > f->real_file_size" becomes true, since
f->real_file_size is 0.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoShow fio help page when no arguments are given
Jens Axboe [Wed, 19 Dec 2007 12:54:38 +0000 (13:54 +0100)]
Show fio help page when no arguments are given

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoOverflow bugs in random map
Jens Axboe [Fri, 14 Dec 2007 11:42:53 +0000 (12:42 +0100)]
Overflow bugs in random map

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd Intel IOMeter file access server example job file
Jens Axboe [Fri, 14 Dec 2007 11:41:04 +0000 (12:41 +0100)]
Add Intel IOMeter file access server example job file

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd support for 'bssplit' option, fine grained block size contrl
Jens Axboe [Fri, 14 Dec 2007 11:21:19 +0000 (12:21 +0100)]
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>
16 years ago'1' is minimum value for queue depth, don't allow 0
Jens Axboe [Wed, 12 Dec 2007 18:42:13 +0000 (19:42 +0100)]
'1' is minimum value for queue depth, don't allow 0

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: we have fls(), use it for rounding ring size up
Jens Axboe [Wed, 12 Dec 2007 18:39:59 +0000 (19:39 +0100)]
syslet: we have fls(), use it for rounding ring size up

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agounsigned vs signed warnings
Jens Axboe [Tue, 11 Dec 2007 12:23:27 +0000 (13:23 +0100)]
unsigned vs signed warnings

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: can't free the stack
Jens Axboe [Tue, 11 Dec 2007 11:36:41 +0000 (12:36 +0100)]
syslet: can't free the stack

Need to check up on this...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoChange io engine version
Jens Axboe [Tue, 11 Dec 2007 09:54:26 +0000 (10:54 +0100)]
Change io engine version

Minor change from V7, just the getevents() prototype.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years ago->getevents() should take unsigned args
Jens Axboe [Tue, 11 Dec 2007 09:49:39 +0000 (10:49 +0100)]
->getevents() should take unsigned args

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: cleanup event reaping
Jens Axboe [Tue, 11 Dec 2007 09:45:36 +0000 (10:45 +0100)]
syslet: cleanup event reaping

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: add proper read barrier between user_tail and completion read
Jens Axboe [Tue, 11 Dec 2007 07:55:53 +0000 (08:55 +0100)]
syslet: add proper read barrier between user_tail and completion read

Also fixup a bug with ring indexing, it needs to use the real ring size
mask, not the io depth.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: error handling
Jens Axboe [Tue, 11 Dec 2007 07:46:16 +0000 (08:46 +0100)]
syslet: error handling

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: make sure ring buffer is a power-of-2
Jens Axboe [Tue, 11 Dec 2007 07:22:53 +0000 (08:22 +0100)]
syslet: make sure ring buffer is a power-of-2

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: memory allocation error handling
Jens Axboe [Mon, 10 Dec 2007 19:35:10 +0000 (20:35 +0100)]
syslet: memory allocation error handling

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd kcompat.h
Jens Axboe [Mon, 10 Dec 2007 19:25:24 +0000 (20:25 +0100)]
Add kcompat.h

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosyslet: update to -v7 as posted by Zach
Jens Axboe [Mon, 10 Dec 2007 19:24:44 +0000 (20:24 +0100)]
syslet: update to -v7 as posted by Zach

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix failure in opening files with O_NOATIME
Aaron Carroll [Mon, 26 Nov 2007 08:08:53 +0000 (09:08 +0100)]
Fix failure in opening files with O_NOATIME

If we try to open a file with O_NOATIME and it fails, turn off
O_NOATIME and try again.  This occurs if the user does not own
the file and is unprivileged.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate HOWTO terse description
Shawn Lewis [Wed, 21 Nov 2007 08:38:34 +0000 (09:38 +0100)]
Update HOWTO terse description

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofix utime_since overflow
Shawn Lewis [Wed, 21 Nov 2007 08:38:13 +0000 (09:38 +0100)]
fix utime_since overflow

utime_since was using a long for its return which overflows when the difference
between times is more than about 35 minutes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agodon't log iopiece when do_verify is off
Shawn Lewis [Wed, 21 Nov 2007 08:35:41 +0000 (09:35 +0100)]
don't log iopiece when do_verify is off

Don't log an iopiece if do_verify is off. This allows us to do large write
phases (with verify headers) without using a lot of memory.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofio.1: minor fixes
Aaron Carroll [Fri, 16 Nov 2007 11:12:45 +0000 (12:12 +0100)]
fio.1: minor fixes

 - Document reading job files from stdin with `-';
 - Fix a typo and remove a spurious line.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
16 years agoSeperate ioprio value from setting
Jens Axboe [Thu, 8 Nov 2007 07:29:07 +0000 (08:29 +0100)]
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>
16 years agoFio 1.17.2 fio-1.17.2
Jens Axboe [Tue, 30 Oct 2007 14:45:12 +0000 (15:45 +0100)]
Fio 1.17.2

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix spurious eta output
Aaron Carroll [Fri, 26 Oct 2007 09:10:28 +0000 (11:10 +0200)]
Fix spurious eta output

 - Pad eta output with enough spaces to overwrite remaining characters
   from the end of previous lines;
 - Wrap an overly-long line.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMore cpu engine fixes
Jens Axboe [Thu, 25 Oct 2007 16:44:45 +0000 (18:44 +0200)]
More cpu engine fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMerge branch 'master' of ssh://git.kernel.dk/data/git/fio
Jens Axboe [Thu, 25 Oct 2007 16:34:14 +0000 (18:34 +0200)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio

16 years agoFixes for CPU burn engine
Jens Axboe [Thu, 25 Oct 2007 16:34:02 +0000 (18:34 +0200)]
Fixes for CPU burn engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd pread/pwrite support to sync engine
gurudas pai [Tue, 23 Oct 2007 13:12:30 +0000 (15:12 +0200)]
Add pread/pwrite support to sync engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofio: build warning fix on gcc-3.4.6-3
gurudas pai [Mon, 22 Oct 2007 20:10:39 +0000 (22:10 +0200)]
fio: build warning fix on  gcc-3.4.6-3

On gcc-3.4.6-3

 >make log.o
gcc -W -Wwrite-strings -Wall -D_GNU_SOURCE -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g  -D_FORTIFY_SOURCE=2 -rdynamic  -c -o
log.o log.c
log.c: In function `read_iolog':
log.c:308: warning: int format, fio_ddir arg (arg 3)

Which corresponds to

enum fio_ddir rw;
..
..
if (sscanf(p, "%d,%llu,%u", &rw, &offset, &bytes) != 3) {

Following patch will fix the warning. This was added by commit
21bd2987dc5d82a18af485cd1e7841e94137fc0c

Thanks,
-Guru

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosplice: fix fallback from copy vmsplice to nothing
Jens Axboe [Tue, 16 Oct 2007 07:44:47 +0000 (09:44 +0200)]
splice: fix fallback from copy vmsplice to nothing

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosplice: fix problem with current mainline kernels
Jens Axboe [Tue, 16 Oct 2007 07:42:40 +0000 (09:42 +0200)]
splice: fix problem with current mainline kernels

splice was updated to work well with the newer vmsplice patches,
where we don't have to copy data at all. But that broke the
regular vmsplice that copies data, which is all the mainline kernel
still support.

Fix that up, so we do appropriate fallbacks. Fixes the problem
reported by gurudas pai <gurudas.pai@oracle.com>

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSet O_NOATIME on open for non-regular files
Jens Axboe [Thu, 11 Oct 2007 19:41:41 +0000 (21:41 +0200)]
Set O_NOATIME on open for non-regular files

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofio HOWTO/man fix
gurudas pai [Fri, 5 Oct 2007 11:20:18 +0000 (13:20 +0200)]
fio HOWTO/man fix

If I use ioengine=cpu , fio errors out, I referred HOWTO and man pages,
both  says use "cpu" for cpu load. Looked at the code it should be
ioengine=cpuio.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoGet rid of syslet-rw compile warnings on 32-bit
Jens Axboe [Fri, 28 Sep 2007 06:48:52 +0000 (08:48 +0200)]
Get rid of syslet-rw compile warnings on 32-bit

The fixed size API repeatedly warns on the pointer to integer
of different size cast, so sneak an unsigned long conversion in
first. Makes gcc happy and should always be ok.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDon't use seeks on stdin for job file parsing
Jens Axboe [Thu, 27 Sep 2007 08:48:55 +0000 (10:48 +0200)]
Don't use seeks on stdin for job file parsing

The previous commit added the support for reading a job file
from stdin, but this breaks when fio uses fgetpos/fsetpos on
the file handle. So remove the seeking.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd support for `-' file to read from stdin
Aaron Carroll [Thu, 27 Sep 2007 07:03:55 +0000 (09:03 +0200)]
Add support for `-' file to read from stdin

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate syslet-rw to fixed size ABI structures
Zach Brown [Tue, 18 Sep 2007 23:28:48 +0000 (16:28 -0700)]
Update syslet-rw to fixed size ABI structures

The syslet system calls moved to using fixed size members of structures.  This
updates the syslet-rw engine to match.  syslet.h was copied from the kernel and
then uXX was replaced with uintXX_T.  Casts were added to move between integers
and pointers.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoExec the getpid atom when testing for syslet support
Zach Brown [Wed, 19 Sep 2007 06:42:19 +0000 (08:42 +0200)]
Exec the getpid atom when testing for syslet support

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoInitialize the new_thread_stack so syslet support testing has one
Zach Brown [Wed, 19 Sep 2007 06:42:18 +0000 (08:42 +0200)]
Initialize the new_thread_stack so syslet support testing has one

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoTrivial spelling correction
Zach Brown [Wed, 19 Sep 2007 06:42:17 +0000 (08:42 +0200)]
Trivial spelling correction

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate syslet system call numbers
Zach Brown [Wed, 19 Sep 2007 06:42:16 +0000 (08:42 +0200)]
Update syslet system call numbers

System calls have been added to mainline while syslets has been pending.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoGeneral fio.1 improvements
Aaron Carroll [Tue, 18 Sep 2007 06:10:57 +0000 (08:10 +0200)]
General fio.1 improvements

 - Fixed a bunch of typos and formatting errors.

 - Wrapped some overly-long lines.

 - Added a few new default parameter values.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoman 1 fio
Aaron Carroll [Mon, 17 Sep 2007 08:32:59 +0000 (10:32 +0200)]
man 1 fio

I have put together a draft man page for fio.  The contents are from
fio's HOWTO and README documents and edited for brevity and the odd
typo.  The point is not to replace the existing docmentation, but to
serve as a quick reference.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd ETA output control and interactivity check
Aaron Carroll [Fri, 14 Sep 2007 07:49:41 +0000 (09:49 +0200)]
Add ETA output control and interactivity check

 - Real-time ETA display is only printed if output is to a terminal.

 - Accordingly, add --eta=always|never|auto option.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFull readonly check
Jens Axboe [Wed, 12 Sep 2007 11:12:39 +0000 (13:12 +0200)]
Full readonly check

Both in core and in engines. To the extent possible, this should catch
even fio errors.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoExtend --readonly
Jens Axboe [Wed, 12 Sep 2007 06:18:36 +0000 (08:18 +0200)]
Extend --readonly

- Never allow open of a data file with writeable bits sets, and that
  includes extend as well.

- Skip any writes in replay logs (iolog/iolog2/blktrace)

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd --readonly option
Jens Axboe [Tue, 11 Sep 2007 18:02:05 +0000 (20:02 +0200)]
Add --readonly option

Suggested by Valerie Henson. It can be used as an extra safety guard
against accidentically turning on a write setting. See README.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosplice: update to new vmsplice-to-user interface
Jens Axboe [Fri, 7 Sep 2007 18:36:08 +0000 (20:36 +0200)]
splice: update to new vmsplice-to-user interface

I changed the kernel bits (they aren't merged yet), so update
the fio splice engine to reflect that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd display of major and minor faults
Jens Axboe [Fri, 7 Sep 2007 18:33:33 +0000 (20:33 +0200)]
Add display of major and minor faults

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoVerify handlers should return Exxx error, not just 1
Jens Axboe [Thu, 6 Sep 2007 14:16:44 +0000 (16:16 +0200)]
Verify handlers should return Exxx error, not just 1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix splice engine compile
Jens Axboe [Wed, 5 Sep 2007 16:10:11 +0000 (18:10 +0200)]
Fix splice engine compile

We need to move the splice_unmap_io_u() function.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosplice engine: add unmapping for vmsplice-to-user
Jens Axboe [Tue, 4 Sep 2007 13:19:59 +0000 (15:19 +0200)]
splice engine: add unmapping for vmsplice-to-user

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd unmap hook that belongs to the IO engines
Jens Axboe [Tue, 4 Sep 2007 13:17:09 +0000 (15:17 +0200)]
Add unmap hook that belongs to the IO engines

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoType in SPLICE_F_UNMAP ifdef
Jens Axboe [Tue, 4 Sep 2007 13:16:39 +0000 (15:16 +0200)]
Type in SPLICE_F_UNMAP ifdef

Should be an ifndef obviously, not ifdef.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix eta for pure read workload with verify enabled
Jens Axboe [Tue, 4 Sep 2007 10:38:28 +0000 (12:38 +0200)]
Fix eta for pure read workload with verify enabled

Verify doubles the expected IO count, but that is only true if
we are first writing a file and then reading it back to verify.
If the workload running is just reading back data to verify it,
the IO count is already correct.

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