fio.git
16 years agosmalloc: remember to account for sizeof block header
Jens Axboe [Wed, 16 Apr 2008 17:47:21 +0000 (19:47 +0200)]
smalloc: remember to account for sizeof block header

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosmalloc: when adding a new pool, make it big enough to hold the failing alloc
Jens Axboe [Wed, 16 Apr 2008 17:43:17 +0000 (19:43 +0200)]
smalloc: when adding a new pool, make it big enough to hold the failing alloc

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate 'overwrite' option documentation
Jens Axboe [Tue, 15 Apr 2008 07:20:46 +0000 (09:20 +0200)]
Update 'overwrite' option documentation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.20-rc4 fio-1.20-rc4
Jens Axboe [Fri, 11 Apr 2008 07:17:41 +0000 (09:17 +0200)]
Fio 1.20-rc4

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoREADME: add hint on missing libaio-devel package
Jens Axboe [Fri, 11 Apr 2008 07:16:59 +0000 (09:16 +0200)]
README: add hint on missing libaio-devel package

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agolibaio: Add hint on libaio engine init failing
Jens Axboe [Thu, 10 Apr 2008 18:52:40 +0000 (20:52 +0200)]
libaio: Add hint on libaio engine init failing

If io_queue_init() fails, it's likely due to a lack of
aio request resources.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMark rwmixcycle option as deprecated in the option parser
Jens Axboe [Mon, 7 Apr 2008 07:26:02 +0000 (09:26 +0200)]
Mark rwmixcycle option as deprecated in the option parser

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemove rwmixcycle HOWTO entry
Jens Axboe [Mon, 7 Apr 2008 07:25:47 +0000 (09:25 +0200)]
Remove rwmixcycle HOWTO entry

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoBase the rwmix switch algorithm on io issues
Jens Axboe [Mon, 7 Apr 2008 07:19:46 +0000 (09:19 +0200)]
Base the rwmix switch algorithm on io issues

The time based switch can be unfair sometimes, so just simplify it a bit
and use issues only.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoNeed to prefix directory= setting before checking dir part of filename=
Jens Axboe [Mon, 7 Apr 2008 07:00:54 +0000 (09:00 +0200)]
Need to prefix directory= setting before checking dir part of filename=

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoImprove eta calculation and display for complex jobs
Jens Axboe [Sun, 6 Apr 2008 10:19:05 +0000 (12:19 +0200)]
Improve eta calculation and display for complex jobs

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoImprove naming in fio gnuplot graphs
Jens Axboe [Fri, 4 Apr 2008 21:15:19 +0000 (23:15 +0200)]
Improve naming in fio gnuplot graphs

Use job name and strip the known postfix of files out of the title.

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, 4 Apr 2008 11:47:20 +0000 (13:47 +0200)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio

16 years agoIf a file is extended, drop extended length in cache
Jens Axboe [Fri, 4 Apr 2008 09:10:30 +0000 (11:10 +0200)]
If a file is extended, drop extended length in cache

Similar to how the cache state would be the next time the job is run,
good for consistency.

Reported and suggested by "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd softrandommap and --alloc-size options
Jens Axboe [Wed, 26 Mar 2008 09:32:57 +0000 (10:32 +0100)]
Add softrandommap and --alloc-size options

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

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAllow randommap allocation to fail
Jens Axboe [Wed, 26 Mar 2008 09:11:10 +0000 (10:11 +0100)]
Allow randommap allocation to fail

It's not that critical, so just print a warning and continue
without randommap.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosmalloc: increase initial pool size from 64k to 1m
Jens Axboe [Wed, 26 Mar 2008 09:05:43 +0000 (10:05 +0100)]
smalloc: increase initial pool size from 64k to 1m

We allocate randommaps from that pool as well and they can grow
quite large.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix badly merged dprint()
Jens Axboe [Wed, 26 Mar 2008 08:57:18 +0000 (09:57 +0100)]
Fix badly merged dprint()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Wed, 26 Mar 2008 08:23:04 +0000 (09:23 +0100)]
Merge branch 'master' of ssh://router/data/git/fio

16 years agoMake sure that file is created for FIO_NOEXTEND engines
Jens Axboe [Wed, 26 Mar 2008 08:18:14 +0000 (09:18 +0100)]
Make sure that file is created for FIO_NOEXTEND engines

This fixes a SIGBUS with the mmap engine. Reported by
"Zhang, Yanmin" <yanmin_zhang@linux.intel.com>

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoCheck directory if filename= option includes dir name
Jens Axboe [Wed, 26 Mar 2008 08:17:55 +0000 (09:17 +0100)]
Check directory if filename= option includes dir name

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoOnly decrement pending in reap_threads() if the reaped job was pending
Jens Axboe [Wed, 19 Mar 2008 09:29:07 +0000 (10:29 +0100)]
Only decrement pending in reap_threads() if the reaped job was pending

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoposixaio: Missing memset()
Jens Axboe [Mon, 10 Mar 2008 17:47:53 +0000 (18:47 +0100)]
posixaio: Missing memset()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoposixaio: speedup by using aio_suspend() instead of manual waiting
Jens Axboe [Mon, 10 Mar 2008 17:45:57 +0000 (18:45 +0100)]
posixaio: speedup by using aio_suspend() instead of manual waiting

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoExtend ipo file action capabilities
Jens Axboe [Mon, 10 Mar 2008 12:57:58 +0000 (13:57 +0100)]
Extend ipo file action capabilities

Add FIO_LOG_UNLINK_FILE and move the handling of special ipo's
into a dedicated function.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUse pthread_detach() instead of calling pthread_join() later
Jens Axboe [Mon, 10 Mar 2008 09:52:22 +0000 (10:52 +0100)]
Use pthread_detach() instead of calling pthread_join() later

Unifies the thread vs process parts a bit more.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSilence gcc warning
Jens Axboe [Fri, 7 Mar 2008 20:41:54 +0000 (21:41 +0100)]
Silence gcc warning

'delay' wasn't used in that path, but gcc complained. Kill the warning.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.20-rc3 fio-1.20-rc3
Jens Axboe [Fri, 7 Mar 2008 13:28:38 +0000 (14:28 +0100)]
Fio 1.20-rc3

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace improvements and fixups
Jens Axboe [Fri, 7 Mar 2008 13:26:26 +0000 (14:26 +0100)]
blktrace improvements and fixups

Remove iolog version 1 support, it's just too limited. Version 2 and
blktrace manage file events (add,open,close,tc) on their own and we
can cleanup the file creation if we kill it.

Fixup for_each_file() for no allocated files.

Start of handling notify events for blktrace. We don't see program
notifications, need to look into that.

Properly account io bytes when adding blktrace events, so that the ETA
and io count is correct on replay.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoOnly set O_RDWR for open() when readonly isn't set
Jens Axboe [Fri, 7 Mar 2008 12:42:31 +0000 (13:42 +0100)]
Only set O_RDWR for open() when readonly isn't set

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoTweak handling of write traces with --readonly
Jens Axboe [Fri, 7 Mar 2008 12:39:59 +0000 (13:39 +0100)]
Tweak handling of write traces with --readonly

Don't add them at all, that allows us to replay a trace with writes
included when the --readonly switch is set. Before it would tell you
that it was 'X' number of writes, and then fail when it tried to
replay then anyway. Now just don't add those events.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace bits accidentally got committed
Jens Axboe [Fri, 7 Mar 2008 12:20:54 +0000 (13:20 +0100)]
blktrace bits accidentally got committed

It was the start of handling notifies correctly, didn't mean to commit
them with the previous fix. So roll them out, commit when done.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bad sscan() -> scanf() conversion
Jens Axboe [Fri, 7 Mar 2008 12:19:35 +0000 (13:19 +0100)]
Fix bad sscan() -> scanf() conversion

Caused fio to stall waiting for disk updates.

Also add --debug=diskutil debug option, to trace what diskutil is doing.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.20-rc2 fio-1.20-rc2
Jens Axboe [Thu, 6 Mar 2008 14:47:03 +0000 (15:47 +0100)]
Fio 1.20-rc2

-rc1 had some bugs due to the dyn file allocation, so make an -rc2 since
those should now be shaken out.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoStyle fixups
Jens Axboe [Thu, 6 Mar 2008 14:42:00 +0000 (15:42 +0100)]
Style fixups

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAlways make job use open() instead of dup(), even for shared files
Jens Axboe [Thu, 6 Mar 2008 11:06:30 +0000 (12:06 +0100)]
Always make job use open() instead of dup(), even for shared files

The fd may be opened after other jobs are forked, thus they wont
share fd space (unless the 'thread' option is used).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFile setup open can fail in multiple functions, not just open()
Jens Axboe [Thu, 6 Mar 2008 11:02:24 +0000 (12:02 +0100)]
File setup open can fail in multiple functions, not just open()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoBe more careful about catching fsync() errors
Jens Axboe [Thu, 6 Mar 2008 10:56:48 +0000 (11:56 +0100)]
Be more careful about catching fsync() errors

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate to verify state setting
Jens Axboe [Thu, 6 Mar 2008 10:47:53 +0000 (11:47 +0100)]
Update to verify state setting

Only set when doing read.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofor_each_file() fix
Jens Axboe [Thu, 6 Mar 2008 09:30:30 +0000 (10:30 +0100)]
for_each_file() fix

We will deref ->files one beyond the allocated length due to the way
that C for(;;) loops work. So rework it a bit to make it more safe
and not look beyond the array. We didn't touch the memory before, but
it was still somewhat ugly.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMultiple file handling fixes
Jens Axboe [Thu, 6 Mar 2008 09:26:25 +0000 (10:26 +0100)]
Multiple file handling fixes

Some of that got broken with the dynamically allocated file changes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoIndicate 'V' verify state always
Jens Axboe [Thu, 6 Mar 2008 09:25:17 +0000 (10:25 +0100)]
Indicate 'V' verify state always

We only print 'V' for a thread if it does a verify run after a write,
however fio can be invoked for a later verify using a different job file.
So check in do_io() as well and set verify state if appropriate.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.20-rc1 fio-1.20-rc1
Jens Axboe [Tue, 4 Mar 2008 11:59:41 +0000 (12:59 +0100)]
Fio 1.20-rc1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRevamp file locking
Jens Axboe [Tue, 4 Mar 2008 09:18:56 +0000 (10:18 +0100)]
Revamp file locking

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

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

lockfile=readwrite:4

instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofilehash.c: remove debug hash dump
Jens Axboe [Mon, 3 Mar 2008 11:34:35 +0000 (12:34 +0100)]
filehash.c: remove debug hash dump

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosem.c: cleanup
Jens Axboe [Mon, 3 Mar 2008 11:32:45 +0000 (12:32 +0100)]
sem.c: cleanup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMakefile updates
Jens Axboe [Mon, 3 Mar 2008 11:22:19 +0000 (12:22 +0100)]
Makefile updates

Last was botched.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMakefile updates
Jens Axboe [Mon, 3 Mar 2008 11:20:26 +0000 (12:20 +0100)]
Makefile updates

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd rw mutex init helper
Jens Axboe [Mon, 3 Mar 2008 10:08:19 +0000 (11:08 +0100)]
Add rw mutex init helper

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUse read-writer locks in smalloc
Jens Axboe [Mon, 3 Mar 2008 09:36:36 +0000 (10:36 +0100)]
Use read-writer locks in smalloc

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd read-write mutexes
Jens Axboe [Mon, 3 Mar 2008 09:36:27 +0000 (10:36 +0100)]
Add read-write mutexes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemove debug printf() in net engine
Jens Axboe [Mon, 3 Mar 2008 09:18:09 +0000 (10:18 +0100)]
Remove debug printf() in net engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd the file sharing bits
Jens Axboe [Sat, 1 Mar 2008 18:25:20 +0000 (19:25 +0100)]
Add the file sharing bits

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

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

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoHook up the file hashing
Jens Axboe [Sat, 1 Mar 2008 17:59:51 +0000 (18:59 +0100)]
Hook up the file hashing

Add on file open, remove on close.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMissed fio.h update for filehash, oops
Jens Axboe [Sat, 1 Mar 2008 17:58:08 +0000 (18:58 +0100)]
Missed fio.h update for filehash, oops

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd file hashing helpers
Jens Axboe [Sat, 1 Mar 2008 17:56:24 +0000 (18:56 +0100)]
Add file hashing helpers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemember to init and exit the smalloc allocator
Jens Axboe [Sat, 1 Mar 2008 17:52:49 +0000 (18:52 +0100)]
Remember to init and exit the smalloc allocator

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoJobs must always open their own files
Jens Axboe [Sat, 1 Mar 2008 17:50:48 +0000 (18:50 +0100)]
Jobs must always open their own files

This is also related to file sharing - we cannot dup() a descriptor,
if the child hasn't inherited it. So make sure the jobs always open
the files again, even after they have been created.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd list_del_init() to list.h
Jens Axboe [Sat, 1 Mar 2008 17:44:26 +0000 (18:44 +0100)]
Add list_del_init() to list.h

The file hashing will use it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemember to free the file structure as well
Jens Axboe [Sat, 1 Mar 2008 17:41:50 +0000 (18:41 +0100)]
Remember to free the file structure as well

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAllocate file structure from shared process pool
Jens Axboe [Sat, 1 Mar 2008 17:40:46 +0000 (18:40 +0100)]
Allocate file structure from shared process pool

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd a semaphore implementation
Jens Axboe [Sat, 1 Mar 2008 17:38:12 +0000 (18:38 +0100)]
Add a semaphore implementation

To be used by the file sharing.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd a really simple allocator, backed with mmap'ed memory
Jens Axboe [Sat, 1 Mar 2008 17:27:36 +0000 (18:27 +0100)]
Add a really simple allocator, backed with mmap'ed memory

We can use this simple allocator to get memory that can be safely
shared across processes or threads.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMissed update of dup_files() for dynamically allocated files
Jens Axboe [Sat, 1 Mar 2008 17:22:27 +0000 (18:22 +0100)]
Missed update of dup_files() for dynamically allocated files

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd file locking hooks
Jens Axboe [Sat, 1 Mar 2008 17:19:52 +0000 (18:19 +0100)]
Add file locking hooks

Does nothing so far, but adds locking calls that cover from ->prep()
to after ->queue(). That is the period where we do IO.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemove the file->last_completed_pos variable
Jens Axboe [Sat, 1 Mar 2008 17:09:49 +0000 (18:09 +0100)]
Remove the file->last_completed_pos variable

This tracks where we last did IO to this file, however with file
sharing that may break. So just remove this optimization, it'll
cost an extra lseek() for the sync engine but doesn't do much else
outside of that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMake file structures dynamically allocated
Jens Axboe [Sat, 1 Mar 2008 17:04:31 +0000 (18:04 +0100)]
Make file structures dynamically allocated

Current td->files is an array of files, make it an array of pointers
instead and allocate individual file structures on the fly. This is
a preparation patch for file sharing.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoEnable quiet build mode, enable by default
Jens Axboe [Sat, 1 Mar 2008 15:20:13 +0000 (16:20 +0100)]
Enable quiet build mode, enable by default

Add V=1 to make flags to force a verbose build.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoUpdate close file handler to return potential error
Jens Axboe [Sat, 1 Mar 2008 14:55:36 +0000 (15:55 +0100)]
Update close file handler to return potential error

Filesystems like NFS do return errors on close(), up until now we
have been ignoring them. Fix that. Adjust io_ops engine version
to 9, since this is an API change.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd close_files() that closes all files
Jens Axboe [Sat, 1 Mar 2008 14:47:08 +0000 (15:47 +0100)]
Add close_files() that closes all files

Renames the current implementation to close_and_free_files(), since
that is what it actually does.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoOnly initialize random map if we are actually going to use it
Jens Axboe [Sat, 1 Mar 2008 14:34:44 +0000 (15:34 +0100)]
Only initialize random map if we are actually going to use it

We alloc the randommap even for sequential workloads right now,
if the 'norandommap' option isn't given. Fix that, check for
td_random() before continuing.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix potential crash in terminate_threads()
Jens Axboe [Sat, 1 Mar 2008 14:25:24 +0000 (15:25 +0100)]
Fix potential crash in terminate_threads()

td->io_ops can be NULL, if the thread is already gone. So copy the
pointer and check before dereferencing it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoWhen retrieving a requeued IO, don't setup data pointers again
Jens Axboe [Sat, 1 Mar 2008 14:22:32 +0000 (15:22 +0100)]
When retrieving a requeued IO, don't setup data pointers again

This is a bug, if we had a residual data count we would be
retrying the full request again.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix bad inlining in mutex.h
Jens Axboe [Sat, 1 Mar 2008 14:12:48 +0000 (15:12 +0100)]
Fix bad inlining in mutex.h

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix recursive dump of options
Jens Axboe [Sat, 1 Mar 2008 14:12:14 +0000 (15:12 +0100)]
Fix recursive dump of options

If a child also had a child, we would miss it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoConfusion between mutex and semaphore naming
Jens Axboe [Wed, 27 Feb 2008 17:58:00 +0000 (18:58 +0100)]
Confusion between mutex and semaphore naming

There's a semaphore implementation and option coming, so rename the
bits.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd --debug=parse for option parsing debug
Jens Axboe [Wed, 27 Feb 2008 17:32:33 +0000 (18:32 +0100)]
Add --debug=parse for option parsing debug

Adds log.h and debug.h to split the logging and debug bits out of
fio, so that the parser can use them.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofio.1: add section option and remove spurious command text
Aaron Carroll [Tue, 26 Feb 2008 22:10:39 +0000 (23:10 +0100)]
fio.1: add section option and remove spurious command text

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoextend_file need continue when the file exists
Zhang, Yanmin [Tue, 26 Feb 2008 14:35:52 +0000 (15:35 +0100)]
extend_file need continue when the file exists

If some testing files exist and some others don't exist, fio will
report failure on the no-exist file. Here is a patch to fix it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMove syslet/indirect bits into the OS specific directory
Jens Axboe [Sun, 24 Feb 2008 20:36:00 +0000 (21:36 +0100)]
Move syslet/indirect bits into the OS specific directory

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemove dead FIO_FILE_EXISTS flag
Jens Axboe [Thu, 21 Feb 2008 09:20:00 +0000 (10:20 +0100)]
Remove dead FIO_FILE_EXISTS flag

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoprune_io_piece_log() also needs to take list into account
Jens Axboe [Thu, 21 Feb 2008 08:52:35 +0000 (09:52 +0100)]
prune_io_piece_log() also needs to take list into account

If we didn't use the rbtree but have remaining entries to prune,
loop over the list as well and free those entries.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoRemove dead FIO_FILE_NOSORT flag
Jens Axboe [Thu, 21 Feb 2008 08:51:32 +0000 (09:51 +0100)]
Remove dead FIO_FILE_NOSORT flag

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofix hugepage-size type mismatch
Aaron Carroll [Wed, 20 Feb 2008 08:14:13 +0000 (09:14 +0100)]
fix hugepage-size type mismatch

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

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoaccount for delayed jobs when reaping threads
Aaron Carroll [Wed, 20 Feb 2008 08:14:12 +0000 (09:14 +0100)]
account for delayed jobs when reaping threads

reap_threads does not account for jobs that have been delayed
(e.g. via startdelay) which may lead to all threads being
terminated.  The following job file demonstrates the problem:

[job1]
filename=job1file
size=16k
startdelay=1

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFio 1.19 fio-1.19
Jens Axboe [Tue, 19 Feb 2008 19:24:10 +0000 (20:24 +0100)]
Fio 1.19

1.18x had some stupid bugs with random IO generation, so release
a new full version.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDon't always print usage info
Jens Axboe [Tue, 19 Feb 2008 19:16:57 +0000 (20:16 +0100)]
Don't always print usage info

For instance, when we ask for help don't complain about missing job.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMention new --debug=random option in README
Jens Axboe [Tue, 19 Feb 2008 19:11:41 +0000 (20:11 +0100)]
Mention new --debug=random option in README

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMore random fixes
Jens Axboe [Tue, 19 Feb 2008 19:10:26 +0000 (20:10 +0100)]
More random fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoFix TO_MAP_BLOCK() taking offset into account twice
Jens Axboe [Tue, 19 Feb 2008 17:20:14 +0000 (18:20 +0100)]
Fix TO_MAP_BLOCK() taking offset into account twice

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd FIO_SIGQUIT engine option
Jens Axboe [Mon, 18 Feb 2008 20:11:24 +0000 (21:11 +0100)]
Add FIO_SIGQUIT engine option

For network engines, we need a signal to make it abort the connection
if it isn't already running. Otherwise fio would just stall on ctrl-c
before the connection was established.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoCleanup parse_cmd_line()
Jens Axboe [Mon, 18 Feb 2008 19:59:18 +0000 (20:59 +0100)]
Cleanup parse_cmd_line()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd --section command line option
Jens Axboe [Mon, 18 Feb 2008 19:53:47 +0000 (20:53 +0100)]
Add --section command line option

It enables the user to ship bigger and more complex job files, while
still allowing fio to only run a part of it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoExit on bad command line options
Jens Axboe [Mon, 18 Feb 2008 19:26:32 +0000 (20:26 +0100)]
Exit on bad command line options

It could be dangerous, eg if you expected --read-only to do its job
when you really needed to type --readonly.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoAdd/correct missing command line options in help text
Jens Axboe [Mon, 18 Feb 2008 19:15:03 +0000 (20:15 +0100)]
Add/correct missing command line options in help text

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
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>