Jens Axboe [Mon, 19 Mar 2007 09:51:49 +0000 (10:51 +0100)]
Put longest options first
We need to have things like shmhuge before shm, otherwise the parser
will match shm. The parser needs to be fixed, this is just a quick fix.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Mar 2007 09:50:47 +0000 (10:50 +0100)]
We can't stringify something the parser doesn't handle
The size needs to be written out in full.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 16 Mar 2007 19:27:27 +0000 (20:27 +0100)]
Improve rwmix buffered split
For buffered IO, the rwmix split can often be grossly unfair
towards reads, because dirtying tons of memory is done much
faster than reading data. Improve the split for such workloads
by not only looking at time.
Note that it'll still be somewhat unfair, there's only so much
we can reliably do. But it's better.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 16 Mar 2007 09:24:07 +0000 (10:24 +0100)]
If the rate setting is based on IOPS, reflect that in eta output
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 19:49:25 +0000 (20:49 +0100)]
Untangle the file creation mess
Still needs a lot of work, will do a rewrite of this soonish. At
least it should work now.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 14:04:43 +0000 (15:04 +0100)]
Compile error with FIO_USE_TIMEOUT defined
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 14:01:33 +0000 (15:01 +0100)]
Move thread options into a seperate structure
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 13:12:05 +0000 (14:12 +0100)]
Add some more options for commands
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 13:11:38 +0000 (14:11 +0100)]
Show alias in command help
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 13:11:10 +0000 (14:11 +0100)]
Style cleanup
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 13:09:28 +0000 (14:09 +0100)]
Command help match also on aliases
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 11:09:57 +0000 (12:09 +0100)]
Move setup_rate() out of log.c
Dunno why it ended up in there, doesn't make any sense.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 11:09:39 +0000 (12:09 +0100)]
Improve rate accounting
Don't assume usec_sleep() is extremely precise.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 10:41:11 +0000 (11:41 +0100)]
Support for setting rated based on IOPS
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 10:35:33 +0000 (11:35 +0100)]
blockdev_invalidate_cache(): return -1 for error
This follows the normal system calls, and makes fio pickup errno
appropriately.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 10:06:32 +0000 (11:06 +0100)]
Failure to put job in add_job() failure case
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 09:48:13 +0000 (10:48 +0100)]
Split option handling out of init.c
It grew way too large.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 08:35:56 +0000 (09:35 +0100)]
More file creation improvements
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 08:33:15 +0000 (09:33 +0100)]
Remember to account for existing files in size setup
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 08:22:23 +0000 (09:22 +0100)]
Use log_info() throughout
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 08:15:51 +0000 (09:15 +0100)]
siint range parsing HOWTO update
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 08:15:12 +0000 (09:15 +0100)]
Accept '-' as siint delimter as well.
Hope this doesn't break any parsing...
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 15 Mar 2007 08:14:47 +0000 (09:14 +0100)]
Add 'filesize' option
Allows the user to define the range of file sizes generated.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 19:41:42 +0000 (20:41 +0100)]
Fix build on x86-64 distros without __NR_pread64/pwrite64
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 13:29:16 +0000 (14:29 +0100)]
Fix build of syslet engine on x86-64
Broke on some distros, apparently. Reported by
gurudas pai <gurudas.pai@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 13:24:11 +0000 (14:24 +0100)]
Fio 1.14a
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 13:23:54 +0000 (14:23 +0100)]
Fixup new and wrong file name behaviour
We used to default to using the jobname as the filename,
if it wasn't a regular existing file. So do that again.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 13:15:45 +0000 (14:15 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Wed, 14 Mar 2007 13:14:48 +0000 (14:14 +0100)]
posixaio engine: better handling of partial completions
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 12:58:54 +0000 (13:58 +0100)]
Don't free ->files
It may be shared.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 12:28:31 +0000 (13:28 +0100)]
Help update
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 12:24:07 +0000 (13:24 +0100)]
Add suboption help texts
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 12:02:53 +0000 (13:02 +0100)]
Left justify help output
The right justification may look prettier, but it's harder
to read and find the option.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 10:37:39 +0000 (11:37 +0100)]
Fio version 1.14
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 10:21:27 +0000 (11:21 +0100)]
New/old file mix fix
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 09:59:33 +0000 (10:59 +0100)]
Update io engine comments
Some were plain wrong, mainly because they were born through
copying an existing engine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 09:34:47 +0000 (10:34 +0100)]
mmap engine: make sure that page unaligned syncs work
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 08:39:06 +0000 (09:39 +0100)]
recurse_dir(): Move . and .. check earlier
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 08:16:09 +0000 (09:16 +0100)]
Better handling of file creation vs existing files
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 08:15:42 +0000 (09:15 +0100)]
Fix for bs shrinkage
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Mar 2007 07:50:49 +0000 (08:50 +0100)]
When opening a new file, check file limit not total number
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 20:50:34 +0000 (21:50 +0100)]
Fix double io_u free in error path
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 20:41:38 +0000 (21:41 +0100)]
Print informative error when we hit the max number of files open
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 14:28:55 +0000 (15:28 +0100)]
Add 'opendir' option
This option adds all files from a directory and downward in the
filesystem hierarchy.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 13:50:28 +0000 (14:50 +0100)]
Check for open files on io operations
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 13:42:15 +0000 (14:42 +0100)]
Add 'fsync_on_close' option
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 13:16:08 +0000 (14:16 +0100)]
Obscure file randommap fix
If file size < block and no size is given, we could be generating
a random offset within -1 and deref ->file_map[] beyond its size.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 13:02:16 +0000 (14:02 +0100)]
nr_files conflict with filename
If nr_files is larger than the given number of files, it has
to be lowered. Assume that if the user gives a set of filenames
that this is the number he wants, otherwise he should use not
use a filename setting.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 12:30:40 +0000 (13:30 +0100)]
Total file size handling fix
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 12:25:18 +0000 (13:25 +0100)]
Improve handling of nr_files != open_files
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 11:51:40 +0000 (12:51 +0100)]
Init stat for all files, not just current range
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 11:28:40 +0000 (12:28 +0100)]
Make disk_util() account for all files
Now we can have files all over the place, so we need to loop
over td->files[] to setup disk util stats.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:52:47 +0000 (11:52 +0100)]
Normal vs special files fixups
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:25:07 +0000 (11:25 +0100)]
One more f->file_name typo
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:22:09 +0000 (11:22 +0100)]
td->filename vs f->filename typo
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:18:57 +0000 (11:18 +0100)]
Strip blank end/front of filenames
We do this for other options.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:17:07 +0000 (11:17 +0100)]
If we use jobname as file, only append job/file numer for nrfiles > 1
Otherwise we break the abillity to do [/dev/sda] for /dev/sda and
so on.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:12:14 +0000 (11:12 +0100)]
Don't stack allocate file name
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 10:06:45 +0000 (11:06 +0100)]
Add file reference counting
We must not close a file, while io is in progress to it. That
will make the queuing engines barf.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 09:16:34 +0000 (10:16 +0100)]
Turn file ->open and ->unlink into flags
We'll need more flags in the next commits, so do this as a
preparatory patch.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 09:07:47 +0000 (10:07 +0100)]
Allow explicit setting of a number of files
We currently only allow filename=foo for one file, add the possibility
to specify any number of files by seperating with a colon.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 07:54:06 +0000 (08:54 +0100)]
An option need not include ->posval[] entries
So only fail if we actually looked over some entries.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Mar 2007 07:15:18 +0000 (08:15 +0100)]
[PATCH] disk_util: Allow an engine to turn off disk_util specifically
Originally from Joel Becker <Joel.Becker@oracle.com>
An engine may support disks, but be unable to work with disk_util (as
there is no fd). Add a flag to turn off disk_util from the engine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Joel Becker [Tue, 13 Mar 2007 07:10:14 +0000 (08:10 +0100)]
init.c: Fix non-regular-file booboo
If a filename is given, and that filename is a device file, fio will
ignore the filename, using the job name. Then it tries to open the job
name instead of the filename. Whoops.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 14:24:43 +0000 (15:24 +0100)]
Group reporting fixes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 14:09:24 +0000 (15:09 +0100)]
Improve job grouping
Group jobs as follows:
- Jobs before or after a stonewall have different groupids
- Jobs grouped with numjobs have a private groupid
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 13:20:58 +0000 (14:20 +0100)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Jens Axboe [Mon, 12 Mar 2007 13:19:47 +0000 (14:19 +0100)]
Show IOPS as well as bw numbers
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 12:22:05 +0000 (13:22 +0100)]
pointer -> int conversion warning
It doesn't matter, but silence the warning.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 11:42:21 +0000 (12:42 +0100)]
One more missed s/td->filename/fn_given
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 11:40:26 +0000 (12:40 +0100)]
File name generation fix
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 10:44:28 +0000 (11:44 +0100)]
Add nr parameter to file_service_type
Right now we switch for every IO, add a postfix that allows to switch
for every 'x' number of ios.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 10:29:30 +0000 (11:29 +0100)]
Note process vs thread in output
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 10:21:48 +0000 (11:21 +0100)]
OOM fixes
Hit this with many threads running.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 10:03:04 +0000 (11:03 +0100)]
Quit on thread creation failure
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 10:01:25 +0000 (11:01 +0100)]
If filename not given, use jobname
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 09:05:08 +0000 (10:05 +0100)]
Return EIO for verification failure
We passed back 1, where we need some sort of symbolic error.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 08:43:05 +0000 (09:43 +0100)]
syslet engine: residual fix
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 08:37:46 +0000 (09:37 +0100)]
If residual count == full count, fail the io
We always do blocking io, so regard nothing read/written as an error
condition.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 08:32:47 +0000 (09:32 +0100)]
Overwrite fix
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 08:25:55 +0000 (09:25 +0100)]
File truncation and extend fixes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Mar 2007 07:02:10 +0000 (08:02 +0100)]
Clear ->rate_bytes on do_io() loop
We don't do rates across loops, so remember to clear ->rate_bytes
when we start a new loop.
Problem report from "Ananiev, Leonid I" <leonid.i.ananiev@intel.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 13:34:23 +0000 (14:34 +0100)]
Turn the CPU burner into a real io engine
This removes the special casing in fio.c for the cpu engine, and
also gets rid of FIO_CPUIO.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 12:45:11 +0000 (13:45 +0100)]
null engine: fix queue bug with repeated commit() calls before event retrieval
Don't return anything if min_events == 0. This exposed a bug in
the commit handler, it needs to add to ->events, not set it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 12:23:14 +0000 (13:23 +0100)]
null engine: update to support queuing
Useful for queue testing.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 12:03:00 +0000 (13:03 +0100)]
Document 'openfiles' option
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 11:52:15 +0000 (12:52 +0100)]
Fix ->file_map leak
Just to appease valgrind.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 11:42:35 +0000 (12:42 +0100)]
Remove ->mutex after last use, not on job exit
Frees up that file descriptor.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 11:40:02 +0000 (12:40 +0100)]
Shrink the semaphores a little
The downside is that they hold the fd open, so it steals one
possible file open per-file. Will fix that in the next commit.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Mar 2007 08:00:06 +0000 (09:00 +0100)]
Make sure each job loads a private io engine
Threads got it shared, breaks for obvious reasons. Also gets rid
of the free hack in ioengine unload.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 19:29:11 +0000 (20:29 +0100)]
mutex error handling
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 19:27:21 +0000 (20:27 +0100)]
Add mutex object file to other Makefile's
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 19:25:46 +0000 (20:25 +0100)]
Add a real semaphore implemtation
I've seen races where job N+1 got started before N, this breaks
for dependent jobs. So give up and implement a real semaphore
in mmap'ed shared storage.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 18:09:49 +0000 (19:09 +0100)]
Use DDIR_WRITE symbolic value instead of a hard coded 2
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 14:35:11 +0000 (15:35 +0100)]
A few more stat fixes and cleanups
Mostly cleanups, but also one group status index that was
hardcoded as READ when it should be 'i' for either read or write.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 14:28:10 +0000 (15:28 +0100)]
Fixup reporting for !runtime data directions
Got broken with the group reporting, the minimum time and bw
should only be accounted for data directions where actual
work has happened. Otherwise they are pretty much guarenteed
to be 0.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 13:29:03 +0000 (14:29 +0100)]
Get rid of reopen_files()
Move the full file state clear into td_io_open_file(), so a
reopen is a plain close/open of that file.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 13:09:59 +0000 (14:09 +0100)]
null engine: don't dup() stdin anymore
We can now track fd independently of ->fd, so don't open
a file we don't have to use.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 13:09:18 +0000 (14:09 +0100)]
Add ->open to struct fio_file
Don't use ->fd == -1 to check for the file being open or not,
an io engine could be non-fd based.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Mar 2007 13:02:42 +0000 (14:02 +0100)]
get_next_offset() number of loops change
Commit
b5af82930ccfd7dda6a1b11794efb452eb76d8dc inadvertently
changed this, revert.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>