Jens Axboe [Fri, 24 Sep 2010 18:31:34 +0000 (20:31 +0200)]
Fio 1.44-rc1
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 24 Sep 2010 17:36:34 +0000 (19:36 +0200)]
Don't add the file offset twice for trim
We added it when storing the io_piece, don't add it again
when calling trim.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Thu, 23 Sep 2010 06:48:15 +0000 (08:48 +0200)]
Kill leftover debug printf() and re-format a long line
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Thu, 23 Sep 2010 06:46:16 +0000 (08:46 +0200)]
Fix io_u depth array size
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Thu, 23 Sep 2010 06:38:17 +0000 (08:38 +0200)]
Add some comments around the terse output
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 16 Sep 2010 12:56:23 +0000 (14:56 +0200)]
num2str fixes
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 16 Sep 2010 07:35:34 +0000 (09:35 +0200)]
Implement a better num2str()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 16 Sep 2010 06:59:08 +0000 (08:59 +0200)]
Merge branch 'master' of ssh://router.home.kernel.dk/data/git/fio
Jens Axboe [Wed, 15 Sep 2010 21:05:57 +0000 (23:05 +0200)]
Revert "Improvements for num2str()"
This reverts commit
ef5249d5e5f0bb5f0adfb182b1dbc988aee976de.
Jens Axboe [Wed, 15 Sep 2010 19:05:28 +0000 (21:05 +0200)]
Improvements for num2str()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 14 Sep 2010 11:10:35 +0000 (13:10 +0200)]
Add missing option type
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 14 Sep 2010 11:07:05 +0000 (13:07 +0200)]
Merge branch 'master' of ssh://router.home.kernel.dk/data/git/fio
Jens Axboe [Wed, 8 Sep 2010 13:06:23 +0000 (15:06 +0200)]
binject: use WRITE, not WRITEZERO
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 7 Sep 2010 11:39:55 +0000 (13:39 +0200)]
Merge branch 'master' of ssh://router.home.kernel.dk/data/git/fio
Jens Axboe [Tue, 7 Sep 2010 11:28:58 +0000 (13:28 +0200)]
Add binject IO engine
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 7 Sep 2010 11:28:17 +0000 (13:28 +0200)]
Align memory buffers for RAW io engines
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 13:30:16 +0000 (15:30 +0200)]
Fixup bad format of replay_no_stall option
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 11:29:55 +0000 (13:29 +0200)]
Fix assert
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 11:23:20 +0000 (13:23 +0200)]
Trim/discard fixes
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 11:22:56 +0000 (13:22 +0200)]
Fix libaio prep
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 1 Sep 2010 11:55:12 +0000 (13:55 +0200)]
Remove debug TRIM #error
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 1 Sep 2010 11:54:15 +0000 (13:54 +0200)]
Add verify trim support
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Tue, 31 Aug 2010 19:20:47 +0000 (21:20 +0200)]
Add support for redirection replay of blktrace traces to another device
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 27 Aug 2010 07:04:13 +0000 (09:04 +0200)]
Fio 1.43.2
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 27 Aug 2010 07:04:00 +0000 (09:04 +0200)]
Fix bug with probing block size
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 10:02:28 +0000 (12:02 +0200)]
Fio 1.43.1
The out-of-index deref and memory bugs could hit 1.43 as well
even without trim, it just made it more apparent. So tag a new
release.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 10:02:08 +0000 (12:02 +0200)]
Add support for replaying blktrace trim/discard
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:47:18 +0000 (10:47 +0200)]
Add missing types to io_u_log_error()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:35:02 +0000 (10:35 +0200)]
Add missing types to log_io_u()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:25:17 +0000 (10:25 +0200)]
Fix access of freed memory
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:23:51 +0000 (10:23 +0200)]
Bad style
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 07:02:07 +0000 (09:02 +0200)]
Fio 1.43
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 07:01:25 +0000 (09:01 +0200)]
Mark "read_iolog" as a parent for "replay_no_stall"
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Tue, 24 Aug 2010 20:13:30 +0000 (22:13 +0200)]
Add option to skip delays when replaying traces
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 24 Aug 2010 13:01:37 +0000 (15:01 +0200)]
Fix blktrace replay
We would add duplicate files, if the open event comes before
the add file event. Make sure we return the current index file
instead of adding a duplicate, this causes bad file lookups.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 15 Aug 2010 19:02:10 +0000 (15:02 -0400)]
Fio 1.43-rc1
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 15 Aug 2010 19:01:51 +0000 (15:01 -0400)]
Fixup misuse of get_cpu_clock()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 20:14:56 +0000 (16:14 -0400)]
Add comment on why fallocate is disabled on AIX
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 15:13:56 +0000 (11:13 -0400)]
Update OS support line
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 14:29:12 +0000 (10:29 -0400)]
Cleanup MSG_DONTWAIT
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 12:03:20 +0000 (08:03 -0400)]
Bad indentation
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 00:20:22 +0000 (20:20 -0400)]
AIX fixups
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 10 Aug 2010 23:54:32 +0000 (19:54 -0400)]
Add comment as to where getopt_long.c came from
Also fix the include path.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:51:11 +0000 (19:51 -0400)]
Add support for AIX
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:49:43 +0000 (19:49 -0400)]
Not all platforms have MSG_DONTWAIT
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:21:09 +0000 (19:21 -0400)]
Fix bad casting of unsigned long long to unsigned long
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:18:11 +0000 (19:18 -0400)]
Add get_cpu_clock() for powerpc
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
bart Van Assche [Sun, 1 Aug 2010 19:31:26 +0000 (21:31 +0200)]
Reduce thread stack size
This patch reduces the stack size required by fio threads and hence allows
to run fio with 200 or more threads on systems with a moderate amount of
virtual memory.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 1 Aug 2010 19:27:28 +0000 (21:27 +0200)]
Reduce stack consumption in blktrace load
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 29 Jul 2010 08:52:43 +0000 (10:52 +0200)]
Fix leak when finding aliases in the log rbtree
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 29 Jul 2010 08:50:05 +0000 (10:50 +0200)]
Fix bad deref of memory in parser
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 20 Jul 2010 20:46:00 +0000 (14:46 -0600)]
Add rw_sequencer option
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 20 Jul 2010 18:03:25 +0000 (12:03 -0600)]
Rename ddir_nr -> ddir_seq_nr
Another mode will be added, so lets rename this one internally
to make the distinction clear.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 19 Jul 2010 22:19:55 +0000 (16:19 -0600)]
Initial commit for TRIM/DISCARD support
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 19 Jul 2010 22:18:35 +0000 (16:18 -0600)]
Have cscope look in subdirs too
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 14 Jul 2010 23:39:52 +0000 (17:39 -0600)]
Fio 1.42
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Radha Ramachandran [Wed, 14 Jul 2010 23:39:05 +0000 (17:39 -0600)]
No need to use specific flag for io_u fill length
The fill length already provides that information.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 14 Jul 2010 22:27:02 +0000 (16:27 -0600)]
Really fix broken option length check
Commit
7b4cb1320928bdea2360cf36fc45c83700052d43 matched the
string passed in, but that doesn't work for postfix values
appended.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 14 Jul 2010 06:42:03 +0000 (08:42 +0200)]
Turn io_u filled variable into a flag
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Radha Ramachandran [Wed, 14 Jul 2010 06:36:07 +0000 (08:36 +0200)]
Reuse filled pattern
I made changes to fio so we wld re-use the already populated io_u
buffer (when there is a non-random pattern) during writes. That way
only the header will be re-calculated for every I/O. This way the
buffer wld get populated in the beginning and as long as the
subsequent ios using the same io_u structure are writes and have same
or less block size, it wld get re-used. If any of the subsequent i/o
is a read or has a block size greater than the pre-filled one, then
the buffer is invalidated and will be re-filled at the next write.
Reason for this risky change: (Performance)
I tested this change on a tmpfs(with no swap backing), with the
following config file:
[sscan_write]
filename=/mytmpfs/datafile.tmp
rw=write
bs=64k
size=3G
ioengine=libaio
iodepth=1024
iodepth_low=512
runtime=10800
bwavgtime=5000
thread=1
do_verify=0
verify=meta
verify_pattern=0x55aaa55a
verify_interval=4k
continue_on_error=1
fio-1-41-6 gave 306MB/s and the new change had a performance of 1546MB/s
Side effects/Risks:
There is a risk with this fix, that if the buffer gets corrupted then
the subsequent writes will also be corrupt. I think for both
sequential writes and random writes (with verify, where the I/O log is
replayed) we shld be able to find the first I/O that started with the
corruption and if the buffer is getting corrupted, there are other
issues here.
Testing:
I have tested this fix with sequential write(verify)/random read write
mix combination(with verify).
I think I have taken care of most of the case, but please let me know
if there is anything I have missed. I have attached the patch along
with this email. I think the performance improvement outweighs the
risk associated with the fix. But I will let you decide if you wld
like to pick it up.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 9 Jul 2010 11:48:14 +0000 (13:48 +0200)]
Fio 1.41.6
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 9 Jul 2010 11:47:32 +0000 (13:47 +0200)]
Only flag sync_file_range() support for newer Linux versions
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 30 Jun 2010 13:22:21 +0000 (15:22 +0200)]
Update documentation on new terse format and add version number
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 29 Jun 2010 08:40:30 +0000 (10:40 +0200)]
Fix startdelay option with s/m/h/d postfix
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 29 Jun 2010 08:07:13 +0000 (10:07 +0200)]
crc32c-intel: replace SIGILL approach with cpuid
Some operating systems log illegal instructions, lets try and
be a bit nicer and use cpuid to identify the presence of
SSE4.2 which is needed to support the hw crc32c instruction.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Greg Edwards [Fri, 25 Jun 2010 15:25:22 +0000 (09:25 -0600)]
fix posix_fallocate() return value usage
posix_fallocate() returns the error number on failure. Fix the return value
usage.
Signed-off-by: Greg Edwards <greg.edwards@hp.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Greg Edwards [Fri, 25 Jun 2010 15:24:19 +0000 (09:24 -0600)]
gracefully handle full /tmp file system
If /tmp happens to be full, fio gives you a very unhelpful error:
# ./fio rand-write-256k-q256.job
Bus error
Use posix_fallocate() to gracefully handle this condition.
Signed-off-by: Greg Edwards <greg.edwards@hp.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 25 Jun 2010 12:34:14 +0000 (14:34 +0200)]
Fio 1.41.5
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 25 Jun 2010 12:34:08 +0000 (14:34 +0200)]
Merge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Fri, 25 Jun 2010 12:33:37 +0000 (14:33 +0200)]
Revert "fix 1000 vs kb_base confusion in show_run_stats."
This reverts commit
1f53e9d84573b1f9b9a23ad3ac4ef3d312d59c78.
The conversion is from msec to sec, so the 1000 factor
was correct.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 25 Jun 2010 09:32:48 +0000 (11:32 +0200)]
Documentation update
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 08:39:02 +0000 (10:39 +0200)]
Fio 1.41.4
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 08:27:22 +0000 (10:27 +0200)]
Add chardev size getting
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 07:59:34 +0000 (09:59 +0200)]
Add total latency log
We log submission and completion latencies, also log total latencies.
This makes it easier to graph and make histograms, if you care only
about the complete latency.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 07:36:11 +0000 (09:36 +0200)]
Fix FreeBSD warning
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 07:25:15 +0000 (09:25 +0200)]
Add real blockdev_size() for FreeBSD
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 07:22:41 +0000 (09:22 +0200)]
Make fill_device detect bdev sizes too
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 24 Jun 2010 06:37:13 +0000 (08:37 +0200)]
Fix man page documentation for verify_pattern
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 23 Jun 2010 20:24:07 +0000 (22:24 +0200)]
Allow use of KiB etc to give explicit base 10 multiplies
Useful for disk drives, where capacity is given in base 10 units.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
YAMAMOTO Takashi [Wed, 23 Jun 2010 12:46:35 +0000 (14:46 +0200)]
fix 1000 vs kb_base confusion in show_run_stats.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 22 Jun 2010 08:52:13 +0000 (10:52 +0200)]
posixaio: return any ready event in ->getevents()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 22 Jun 2010 08:30:11 +0000 (10:30 +0200)]
Add off64_t to FreeBSD
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 19:08:47 +0000 (21:08 +0200)]
Fio 1.41.3
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 18:39:38 +0000 (20:39 +0200)]
Speedup verify random fills by 10-15x
Move the pseudo-random helper into lib/rand.c and use that
from the verify populate as well.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 13:22:56 +0000 (15:22 +0200)]
Documentation update
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 13:08:17 +0000 (15:08 +0200)]
Auto-detect missing hw support for crc32c and fallback to software
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 12:36:42 +0000 (14:36 +0200)]
Missing new line
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 12:36:11 +0000 (14:36 +0200)]
Cleanup up SIGILL for crc32c-intel
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 10:53:26 +0000 (12:53 +0200)]
Add documentation for verify_backlog and verify_backlog_batch
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 10:41:06 +0000 (12:41 +0200)]
Fio 1.41.2
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 10:40:53 +0000 (12:40 +0200)]
Fix disk util for slaves
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 10:35:02 +0000 (12:35 +0200)]
Do diskutil check earlier
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 07:02:19 +0000 (09:02 +0200)]
Fio 1.41.1
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 21 Jun 2010 07:01:33 +0000 (09:01 +0200)]
Fix a bug with multiple files in the same io_piece rbtree
Sort by file first, then sort by offset. This avoids false
positives on IO aliases, when it's really for a different file.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 18 Jun 2010 12:49:46 +0000 (14:49 +0200)]
Fio 1.41
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 18 Jun 2010 12:48:43 +0000 (14:48 +0200)]
Verify fatal fixups
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 18 Jun 2010 12:46:06 +0000 (14:46 +0200)]
Error reporting fixups for meta/pattern verifies
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 18 Jun 2010 12:32:21 +0000 (14:32 +0200)]
Include file name in offset failure
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 18 Jun 2010 12:29:52 +0000 (14:29 +0200)]
Unified verify failure error reporting
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 18 Jun 2010 12:28:53 +0000 (14:28 +0200)]
parser: match on length of argument, not potential value
Otherwise we match subset of a string, that doesn't always
work well.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>