Jens Axboe [Thu, 25 Mar 2010 09:42:49 +0000 (10:42 +0100)]
Keep the global command line bw/lat logs separate from per job logs
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 25 Mar 2010 09:38:07 +0000 (10:38 +0100)]
Fix typo in bandwidth log command line option
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 24 Mar 2010 12:44:34 +0000 (13:44 +0100)]
Remove default setting of clocksource
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 24 Mar 2010 12:35:28 +0000 (13:35 +0100)]
Add IA64 support for CPU clock
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 24 Mar 2010 12:24:05 +0000 (13:24 +0100)]
Merge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Wed, 24 Mar 2010 12:23:53 +0000 (13:23 +0100)]
Add support for specific clock sources
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 23 Mar 2010 07:29:38 +0000 (08:29 +0100)]
Fio 1.38
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 20 Mar 2010 20:30:36 +0000 (21:30 +0100)]
Make ARMv7 build and work
Contributed by debian bug #573027
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=573027
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 20:31:01 +0000 (21:31 +0100)]
OSX should use off_t for off64_t
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 18:17:15 +0000 (19:17 +0100)]
Only define str_sfr_cb() if FIO_HAVE_SYNC_FILE_RANGE is set
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 18:09:37 +0000 (19:09 +0100)]
__dprint() fixup
Only define __dprint() function when FIO_INC_DEBUG is set. And
don't check debug type once, not both in dprint() and __dprint().
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 15:50:37 +0000 (16:50 +0100)]
Add log_valist()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 15:43:22 +0000 (16:43 +0100)]
Update other OS makefiles
They lack profile.o and debug.o
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 15:41:52 +0000 (16:41 +0100)]
Make the dprint() processing out-of-line
Instead of having the big macro inlined everywhere, only
inline the mask check and put the rest out-of-line. This reduces
the size of fio with 4% here, and speeds it up.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 09:33:39 +0000 (10:33 +0100)]
Optimize __get_io_u() for better code foot print
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 07:48:05 +0000 (08:48 +0100)]
Fix bad sign on td_verror()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 19 Mar 2010 07:08:06 +0000 (08:08 +0100)]
Don't call getpid() in dprint() unless we are going to use it
Reported-by: David Andersen <dga@cs.cmu.edu>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 18 Mar 2010 19:45:43 +0000 (20:45 +0100)]
Use 'o' consistently in fixup_options()
It points to &td->o, and it's used interchangably in that function.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 18 Mar 2010 19:43:00 +0000 (20:43 +0100)]
Set verify_interval to minimum blocksize if not given
Otherwise workloads with bsrange settings will not work properly.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 18 Mar 2010 18:31:06 +0000 (19:31 +0100)]
Catch error on ->commit and ->get_events
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 18 Mar 2010 18:29:45 +0000 (19:29 +0100)]
Verify log message
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 18 Mar 2010 15:50:31 +0000 (16:50 +0100)]
Fix bad type usage in parse.c for external options
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 15 Mar 2010 12:38:11 +0000 (13:38 +0100)]
Check for syscall definitions, before declaring __weak helper
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 13 Mar 2010 10:29:47 +0000 (11:29 +0100)]
Add __weak sync_file_range()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 10 Mar 2010 11:49:03 +0000 (12:49 +0100)]
Fix broken FIO_OPT_STR option
Only break out and show help if the option had ->posval entries.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 10 Mar 2010 11:36:17 +0000 (12:36 +0100)]
Fix parser bug capping multi value options at 2
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 20:47:15 +0000 (21:47 +0100)]
Update libaio/posixaio/splice for sync updates
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 20:44:55 +0000 (21:44 +0100)]
Assign io_u->error directly in do_io_u_sync()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 20:40:38 +0000 (21:40 +0100)]
Abstract out generic sync helper
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 19:49:54 +0000 (20:49 +0100)]
Add documentation for 'sync_file_range'
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 19:41:15 +0000 (20:41 +0100)]
Make sure we handle multiple arguments to sync_file_range
We need to be able to OR the values.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 19:40:44 +0000 (20:40 +0100)]
Allow OR'able option values
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 19:09:44 +0000 (20:09 +0100)]
Initial suppor for sync_file_range()
This revs the ioengine to 11, as we now have another data direction.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 18:21:53 +0000 (19:21 +0100)]
Remove debug printf()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 9 Mar 2010 11:20:08 +0000 (12:20 +0100)]
Add profile td init/exit with stored data
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 8 Mar 2010 12:58:49 +0000 (13:58 +0100)]
Make profile io op overrides a dedicated structure
Also add a 'get_next_file' hook while at it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 5 Mar 2010 11:46:37 +0000 (12:46 +0100)]
Fix parse strlen() bug
Commit
38789b58775ee5e00f4669f01b3c9da31a7345e3 checks the wrong
string, it's unitialized garbage.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 5 Mar 2010 09:59:06 +0000 (10:59 +0100)]
Allow profiles to override internal io_u functions
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 5 Mar 2010 09:09:59 +0000 (10:09 +0100)]
Allow the adding of 'posval' for dynamic options like 'profile'
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 5 Mar 2010 09:06:15 +0000 (10:06 +0100)]
Allow holes in the option posval (possible values)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 5 Mar 2010 08:56:32 +0000 (09:56 +0100)]
Add profile description
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 5 Mar 2010 08:48:44 +0000 (09:48 +0100)]
Cleanup profile support
This is closer to where it needs to end up. No ext_options, just
include profile options in the general option table (and mark them
private for that profile).
Profile options are only available after loading a specific profile,
so there should be less confusion.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Mar 2010 13:38:10 +0000 (14:38 +0100)]
Make sure profile options get added to long_options[]
Still the restriction that profile load must come after the
private options, which is a bit odd. Still shaking out the
oddities....
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Mar 2010 13:30:02 +0000 (14:30 +0100)]
More progress on per-profile options support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Mar 2010 13:05:48 +0000 (14:05 +0100)]
Add initial support for profile specific options
Not complete yet, we need to split option parsing for profiles a
bit.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Mar 2010 12:49:11 +0000 (13:49 +0100)]
Add parser support for out-of-td option storage
Currently the parser assumes the storage is inside a thread_data
structure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Mar 2010 11:43:20 +0000 (12:43 +0100)]
Add support for loadable profiles
Split the only existing profile, tiobench, into this setup.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Mar 2010 09:42:55 +0000 (10:42 +0100)]
Merge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Thu, 4 Mar 2010 09:42:38 +0000 (10:42 +0100)]
Add support for registrering external options
Start of support for real profiles.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 3 Mar 2010 20:33:21 +0000 (21:33 +0100)]
Quote profile name
Makes for better reading.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 3 Mar 2010 08:23:20 +0000 (09:23 +0100)]
Add check for OPT_LEN_MAX being too small
Will hopefully catch a bug like this in the future.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Zhang, Yanmin [Wed, 3 Mar 2010 07:26:30 +0000 (08:26 +0100)]
Increase OPT_LEN_MAX
When I run fio with lots of files on a disk, parameter filename's length
is more than 1024 and tail filenames are cut.
Below is a patch to increase OPT_LEN_MAX to 4096.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 24 Feb 2010 08:19:14 +0000 (09:19 +0100)]
Use log_info() more consistently
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 23 Feb 2010 09:36:21 +0000 (10:36 +0100)]
Fix bug in sha256 verify
It was using twice as large data block as it should have been,
causing verify failures.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 22 Feb 2010 18:58:41 +0000 (19:58 +0100)]
Fio 1.37
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 22 Feb 2010 13:08:43 +0000 (14:08 +0100)]
PA-RISC support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Joshua Aune [Thu, 11 Feb 2010 07:59:18 +0000 (00:59 -0700)]
Fix FreeBSD support
* Fix dep calculation in Makefile.FreeBSD to ignore other os specific
header files, avoid blowing up on includes in os-solaris.h
* Mark FreeBSD as not supporting fdatasync()
* Add documentation note about FreeBSD not supporting fsyncdata=
* Add warning if fsyncdata= is used on os that doesn't support, fall
back to fsync()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 6 Feb 2010 22:37:07 +0000 (23:37 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Sat, 6 Feb 2010 22:36:26 +0000 (23:36 +0100)]
get_file_type() should use stat(), not lstat()
We care about the device, not the potential link we are passed.
Reported-by: "H. Tolley" <h_tolley@hotmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 2 Feb 2010 08:48:13 +0000 (09:48 +0100)]
Track last file offset
Avoids doing an lseek() in the sync IO engine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 28 Jan 2010 10:31:31 +0000 (11:31 +0100)]
Add specific knob for controlling fallocate() usage
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 23 Dec 2009 07:55:54 +0000 (08:55 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Wed, 23 Dec 2009 07:54:52 +0000 (08:54 +0100)]
Allow 'b' postfix for integer values
Fio would previously regard '1tb' as just 1 byte, since the 'b' postfix
isn't a valid multiplier. Allow the 'b' as well, just ignore it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 22 Dec 2009 08:06:43 +0000 (09:06 +0100)]
Fix barrier for sh4a
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 22 Dec 2009 08:03:58 +0000 (09:03 +0100)]
Fix sh4 typo
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Nobuhiro Iwamatsu [Tue, 22 Dec 2009 08:03:25 +0000 (09:03 +0100)]
sh4 support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 21 Dec 2009 12:30:31 +0000 (13:30 +0100)]
Add generic arch include header
For a newer glibc, this should work (as we don't need private
splice defines, for instance).
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 20 Dec 2009 21:30:27 +0000 (22:30 +0100)]
OSX should include sha1
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 20 Dec 2009 21:29:10 +0000 (22:29 +0100)]
Make fdatasync OS optional
OSX does not have it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 20 Dec 2009 21:24:10 +0000 (22:24 +0100)]
os.h should include headers it needs by itself
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 16 Dec 2009 18:23:10 +0000 (19:23 +0100)]
Include juggling
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 16 Dec 2009 08:53:24 +0000 (09:53 +0100)]
Add Solaris helper object
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 16 Dec 2009 08:50:05 +0000 (09:50 +0100)]
Make weak posix_memalign() private to Solaris
OSX has posix_memalign() but no memalign() and no malloc.h
standard include. So until we have a autoconf based build
system, move this weak helper to the private Solaris header.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 15 Dec 2009 09:28:37 +0000 (10:28 +0100)]
Add generic random helpers
FreeBSD and OSX can both use these.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 15 Dec 2009 07:58:10 +0000 (08:58 +0100)]
Fix some issues with the OSX port
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 14 Dec 2009 22:08:42 +0000 (23:08 +0100)]
Support for Mac OS 10.6.2
Contributed by Small Tree, adopted to newer fio version by me.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 10 Dec 2009 22:17:39 +0000 (23:17 +0100)]
Fio 1.36
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Radha Ramachandran [Wed, 9 Dec 2009 21:31:44 +0000 (22:31 +0100)]
Fix rate option with iodepth > 1
The rate option currently doesnt work when used with libaio engine.
The math currently, calculates the time t2 (when the I/O completed) -
t1 (when the io_u unit was created) as the time it takes for the I/O
and the bandwidth for the rate calculation is calculated from that.
This math will work correctly for sync engine as there is only one io
in progress at a time, but for libaio engine, when there are multiple
I/Os queued, the same time (as in from t1 to t2) could be attributed
to other I/Os as well so the actual bandwidth is actually higher.
I have a patch, but this is more brute force where I take the total
bytes read/written divided by the time since I/Os started to calculate
the bandwidth and decide on the time that needs to be spent sleeping
(if any).This is a little more heavy weight than the previous math. I
think there are probably simpler/cleaner solutions than this but this
is the current patch I have for it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 8 Dec 2009 09:10:31 +0000 (10:10 +0100)]
Fio 1.36-rc2
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 8 Dec 2009 09:10:14 +0000 (10:10 +0100)]
Add support for specifying UID/GID
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 7 Dec 2009 07:02:22 +0000 (08:02 +0100)]
Fix compilation for non-linux
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 7 Dec 2009 07:01:26 +0000 (08:01 +0100)]
Autodetect cgroup blkio mount point
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 5 Dec 2009 21:30:04 +0000 (22:30 +0100)]
Fix an inverted cgroup exit check
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 5 Dec 2009 08:43:33 +0000 (09:43 +0100)]
Fio 1.36-rc1
Usually don't do -rc releases, but we have some substantial additions
this time.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 21:13:43 +0000 (22:13 +0100)]
cgroup cleanups
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 18:54:18 +0000 (19:54 +0100)]
Move cgroup list to proper shared storage
Otherwise we have per-job lists, and that doesn't help very much
with cleaning up.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 18:26:22 +0000 (19:26 +0100)]
cgroup cleanups/fixes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 10:29:12 +0000 (11:29 +0100)]
Better support for setting up and removing private cgroups
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 09:54:45 +0000 (10:54 +0100)]
CGROUP fixes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 09:05:02 +0000 (10:05 +0100)]
Add support for blkio cgroups on Linux
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 4 Dec 2009 08:56:32 +0000 (09:56 +0100)]
Move back to realtime clock
On some systems MONOTONIC still causes a hang.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Nov 2009 12:01:41 +0000 (13:01 +0100)]
Add helpers include file
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Nov 2009 07:48:21 +0000 (08:48 +0100)]
Fix compile error due to missing ENOMEM on some platforms
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Nov 2009 07:48:01 +0000 (08:48 +0100)]
Merge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Mon, 23 Nov 2009 20:42:46 +0000 (21:42 +0100)]
Add weak helpers to other makefiles
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 23 Nov 2009 14:21:39 +0000 (15:21 +0100)]
Fix posix_memalign() return value in case of error
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 23 Nov 2009 14:14:48 +0000 (15:14 +0100)]
Add posix_* weak helpers
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 23 Nov 2009 12:01:01 +0000 (13:01 +0100)]
Re-include fallback BITS_PER_LONG fallback
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 13 Nov 2009 20:25:03 +0000 (21:25 +0100)]
Correct size of tiobench profile
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 13 Nov 2009 20:23:07 +0000 (21:23 +0100)]
Add support for simple profile benchmarks
One of the reasons that tiobench gets used a lot, is that you
simply have to run it. For "real" benchmarks, you usually
have to configure them first. This adds support for easy testing
by adding some predefined and included workloads. This commit
includes tiobench, to run a tiobench like workload you would
simply do:
$ fio --profile=tiobench
and that would be it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>