Jens Axboe [Wed, 21 Feb 2007 19:10:42 +0000 (20:10 +0100)]
Fix double io_u free on error in do_verify()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 21 Feb 2007 15:35:29 +0000 (16:35 +0100)]
64-bit compile warnings
Just some ptr -> int error casts, nothing critical.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 21 Feb 2007 09:22:55 +0000 (10:22 +0100)]
Change IO latency histogram to be in power-of-10
Power of 2 is just confusing for latencies, make the series
more natural by doing 1, 2, 4, 10, 20, 50, etc.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 21 Feb 2007 09:07:40 +0000 (10:07 +0100)]
Makefile: libdir is not used anymore
We link in the io engines.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 19:54:45 +0000 (20:54 +0100)]
More __must_check annotations
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 19:52:51 +0000 (20:52 +0100)]
Static error value checking
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 18:49:57 +0000 (19:49 +0100)]
mmap IO engine cannot extend a file
We need to ftruncate it to the wanted size first, or the mmap
write will terminate with SIGBUS.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 18:41:08 +0000 (19:41 +0100)]
Leftover debug message
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 13:37:26 +0000 (14:37 +0100)]
Add low water mark for queuing depth
Current fio will attempt to keep the queue full at all times,
but sometimes that's not what you want. Add iodepth_low to
indicate a low water mark for queuing depth, so that when we
see a FIO_Q_BUSY or run out of free requests, let the queue
drain down to the iodepth_low setting before building it up
again.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 12:58:20 +0000 (13:58 +0100)]
First step for group reporting
Put most of the stats into a dedicated structure, so we can
later share such a structure between threads.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 10:34:54 +0000 (11:34 +0100)]
Fix sync engine completion latency
td_io_queue() needs to differentiate between the sync and async
engines wrt setting issue_time.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 09:58:34 +0000 (10:58 +0100)]
Update io_u.c comments
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 09:57:34 +0000 (10:57 +0100)]
Improve submission latency calculation
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 09:45:57 +0000 (10:45 +0100)]
Use 0 timeout for command completion peek
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 20 Feb 2007 09:22:01 +0000 (10:22 +0100)]
Update documentation wrt comment
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Ingo Molnar [Tue, 20 Feb 2007 09:19:44 +0000 (10:19 +0100)]
fio: allow '#' comments
allow script-type comment's:
# comment
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Tue, 20 Feb 2007 09:19:41 +0000 (10:19 +0100)]
fio: syslet.h build fix
update syslet.h to build fine even if __user is not defined.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Jens Axboe [Mon, 19 Feb 2007 19:13:09 +0000 (20:13 +0100)]
Be safe and re-prep requeue io_u's
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 18:06:41 +0000 (19:06 +0100)]
Missing clear of some IO state
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 15:01:32 +0000 (16:01 +0100)]
Clean core files on make clean
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 15:00:42 +0000 (16:00 +0100)]
Fix busy looping for io_u_queued_complete()
If min_events > 0, don't set a 0 timeout or we'll end up
busy looping in the io engine getevents handler.
Just disable the timeout for now, perhaps we'll reuse it
in the future to prevent a thread from stalling too long
there.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 12:21:35 +0000 (13:21 +0100)]
Verify requeue handling
If file is already filled, it's a requeue. In that case, don't grab
a new io_piece, we already filled the offsets in the io_u.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 12:16:12 +0000 (13:16 +0100)]
Retrieve next file to service in get_io_u()
This improves requeue handling, we don't want to inadvertently
skip a file because we requeue an io_u.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 12:08:12 +0000 (13:08 +0100)]
Add support for queuing > 1 command at the time
For the async engines, we currently do queuing by issuing one
command at the the time. Improve this by adding a ->commit()
hook to complement the ->queue() hook. When ->queue() returns
FIO_Q_BUSY, call ->commit() to actually send off the io to the
kernel.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 19 Feb 2007 09:06:17 +0000 (10:06 +0100)]
Differentiate between bool error return and real error value
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 18 Feb 2007 11:47:29 +0000 (12:47 +0100)]
Cleanup end IO handling
Abstract out the end IO handling, so that callers don't have to
keep track of completion details. Then we can make the
io_completion_data structure private to io_u, and just provide to
functions to end io - one for sync completes, one for queued completes.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 18 Feb 2007 06:47:14 +0000 (07:47 +0100)]
Unify and fixup error handling
First step in getting ->queue() and ->getevents() handled in
a more sane fashion.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 18 Feb 2007 05:57:43 +0000 (06:57 +0100)]
Fully parallellize io_u verification
Keep a full queue whenever possible, do verifications while
io is in progress.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 18 Feb 2007 04:41:31 +0000 (05:41 +0100)]
Change IO engine queuing
Instead of always pretending to be async, let the IO engines
return FIO_Q_COMPLETED or FIO_Q_QUEUED to signal async or
sync completions regardless of their nature. This cleans up
the queuing model quite a bit.
Also fixed a verification error spotted while doing this
transformation.
The main intent of this is to allow queuing more than 1 piece
of IO at the time, that will come in a later changeset.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 05:30:44 +0000 (06:30 +0100)]
[PATCH] Add thinktime_spin parameter
If you specify thinktime currently, fio will sleep for the duration.
Apps will typically do some data processing before sleeping, so add
a thinktime_spin parameter to control how much CPU to burn before
sleeping.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 05:20:19 +0000 (06:20 +0100)]
[PATCH] Don't check status if ret < 0
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 05:19:24 +0000 (06:19 +0100)]
[PATCH] Catch processes/threads that unexpectedly exited
Fio will no longer stall waiting for dead children.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 03:47:18 +0000 (04:47 +0100)]
[PATCH] Further improve child exit reaping
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 03:39:54 +0000 (04:39 +0100)]
[PATCH] file descriptor is int
This was mistakenly turned into a long, revert.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 03:38:20 +0000 (04:38 +0100)]
[PATCH] IO completion time histograms
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 01:09:01 +0000 (02:09 +0100)]
[PATCH] Fix random seed for numjobs > 1
If you had numjobs larger than 1, then each shared job would get the
same random seed, resulting in the exact same io pattern. Multiply
the seed with the thread number, that will still get repeatable
patterns but only per-thread/process.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 00:51:47 +0000 (01:51 +0100)]
[PATCH] Fixup client error exit
Sometimes we just quit without dumping the client error info, fix
that up.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 17 Feb 2007 00:51:13 +0000 (01:51 +0100)]
[PATCH] Fixup file type recognition
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 22:49:58 +0000 (23:49 +0100)]
[PATCH] Defer engine ops verification check
Just register the engine to avoid complicating the code, but
don't allow it to be loaded.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 21:40:27 +0000 (21:40 +0000)]
[PATCH] Make fio compile on non-x86 again
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 16:32:08 +0000 (17:32 +0100)]
[PATCH] syslet: code cleanup
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 07:53:11 +0000 (08:53 +0100)]
[PATCH] syslet: fix leak of ring and ahu
Clean it in async_unregister()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 07:31:15 +0000 (08:31 +0100)]
[PATCH] syslet: async_head_user struct should be permanent
It's passed back in for async exit. This doesn't matter now, but
may in the future.
Spotted by Ingo Molnar.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 07:06:19 +0000 (08:06 +0100)]
[PATCH] syslet engine: use pread instead lseek+read
And similar for write. Saves executing an atom.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 01:10:59 +0000 (02:10 +0100)]
[PATCH] Let the syslet ioengine register check supportability
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 00:27:09 +0000 (01:27 +0100)]
[PATCH] Exabytes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 00:19:41 +0000 (01:19 +0100)]
[PATCH] Document syslet-rw engine
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 14 Feb 2007 00:16:39 +0000 (01:16 +0100)]
[PATCH] First cut syslet async io support
Doesn't seem to perform as well as expected, needs investigation.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Feb 2007 19:09:10 +0000 (20:09 +0100)]
[PATCH] Make fio_assert() core dump the job
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Feb 2007 19:07:26 +0000 (20:07 +0100)]
[PATCH] Random map needs to use ->real_file_size, not ->file_size
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Feb 2007 17:20:37 +0000 (18:20 +0100)]
[PATCH] Make the exit value meaningfull
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Feb 2007 16:42:35 +0000 (17:42 +0100)]
[PATCH] Woops, left debug clear in there
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 13 Feb 2007 16:39:56 +0000 (17:39 +0100)]
[PATCH] Add fio_assert()
A job must not call assert(), as it wont exit and set thread
state properly.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Feb 2007 19:18:42 +0000 (20:18 +0100)]
[PATCH] Fix buflen trimming
It's ok to trim to the minimum block size for RAWIO.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Feb 2007 17:49:58 +0000 (18:49 +0100)]
[PATCH] Total io is the sum of READ and WRITE
Was broken for mixed read/write workloads.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 12 Feb 2007 04:13:23 +0000 (05:13 +0100)]
[PATCH] One more round of random map fixes
The last fixes made sure that we don't generate a block >= file size,
but for io_u's that contain multiple blocks, it could still happen.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 11 Feb 2007 04:02:48 +0000 (05:02 +0100)]
[PATCH] Sign warning
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 11 Feb 2007 03:44:02 +0000 (04:44 +0100)]
[PATCH] Network engine poll() paranoia
A little defensive programming never hurt anyone.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 11 Feb 2007 03:07:57 +0000 (04:07 +0100)]
[PATCH] Document/comment fio.h
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 11 Feb 2007 03:00:37 +0000 (04:00 +0100)]
[PATCH] Make ctrl-c work with network io and accept loop
We don't get SIGINT breaking accept(), so use poll() to poll
for incoming connects.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sun, 11 Feb 2007 00:01:57 +0000 (01:01 +0100)]
[PATCH] Move td_verror() into io_ops->queue() hook
Shows where the error occured, not where it got noticed.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 23:57:13 +0000 (00:57 +0100)]
[PATCH] Allow thread/group dump regardless of error state
Just because the thread ended in error, doesn't mean the
stats aren't interesting. So dump everything and make sure
the error and verror are visible.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 23:51:30 +0000 (00:51 +0100)]
[PATCH] Fix stack overflow
Observed an overflow of eta_sec[32], bump it to 128 bytes.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 23:49:30 +0000 (00:49 +0100)]
[PATCH] Separate bandwidth log and rate display
We used to dump status each second, but this got modified sometime in the past
to follow bw_avg_time. We don't need 250msec displays, so change it back to
use 1 second delays.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 23:19:51 +0000 (00:19 +0100)]
[PATCH] Pretty up stat output
Always convert numbers to a known base. We could have byte range values
or gigabyte range values, reading huge numbers can be difficult.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 20:36:40 +0000 (21:36 +0100)]
[PATCH] Kill redundant header files
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 19:02:28 +0000 (20:02 +0100)]
[PATCH] More random map fixes
Several optimizations and fixes:
- Add ->last_free_lookup as a cache for get_next_free_offset(). No point
in iterating known full blocks.
- Reduce number of random loops to 5 for random map lookups, fallback to
next free block instead of wasting cpu cycles. Was 50.
- get_next_free_block() needs to take file offset into account.
- Reverse order of retrieving buflen and offset, so we can trim
and mark properly.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 18:01:57 +0000 (19:01 +0100)]
[PATCH] Random map fix
mark_random_map() would give up too soon, causing an infinite loop
in the block allocation.
Reported by Randy Dunlap.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 18:01:07 +0000 (19:01 +0100)]
[PATCH] Size parse should use strtoll()
It's a 64-bit quantity, found out when the size= option quit too early
for large non-postfixed values.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 17:57:18 +0000 (18:57 +0100)]
[PATCH] File size fix on NULL io engines
Just set the file sizes to the size given, it's pretend anyway.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 13:59:22 +0000 (14:59 +0100)]
[PATCH] Catch and print if directory= doesn't exist
Currently we fail in an odd way, make it more explicit why we fail.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 13:49:02 +0000 (14:49 +0100)]
[PATCH] Make the libaio fsync fallback really work
This time it's tested :-)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 11:59:48 +0000 (12:59 +0100)]
[PATCH] libaio engine: fake work-around for sync issue
Needed to make the fsync() fallback work.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Sat, 10 Feb 2007 11:57:55 +0000 (12:57 +0100)]
[PATCH] Fix libaio engine SYNC
io_prep_fsync() isn't supported at all in Linux currently, so
fall back to fsync() if we get an -EINVAL return value.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Feb 2007 08:31:05 +0000 (09:31 +0100)]
[PATCH] CFLAGS: -fstack-protector doesn't work on older compilers
Just remove it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 9 Feb 2007 08:30:25 +0000 (09:30 +0100)]
[PATCH] Net engine typo
READ -> DDIR_READ
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Feb 2007 19:59:31 +0000 (20:59 +0100)]
[PATCH] SG IO engine: reduce allocations and memory leaks
We currently do 3 allocations and frees in the queued getevents
handler, we can easily reduce that to 0 by statically allocating
the buffers at init time.
The cleanup handler didn't free any of the currently allocated
structures, fix that up.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Feb 2007 19:29:41 +0000 (20:29 +0100)]
[PATCH] SG IO engine: remember to set io_u->file in init
It's now mandatory, since it supports multiple files now.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Feb 2007 12:04:36 +0000 (13:04 +0100)]
[PATCH] SG io engine: better handling of multiple files
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 8 Feb 2007 11:59:02 +0000 (12:59 +0100)]
[PATCH] Network engine cleanups and comments
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 13:03:07 +0000 (14:03 +0100)]
[PATCH] Improve dependency checking on builds
From the similar fix for blktrace, from Vasily Tarasov <vtaras@openvz.org>.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 12:59:21 +0000 (13:59 +0100)]
[PATCH] Enable _FORTIFY_SOURCE and stack protector checking
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 12:58:53 +0000 (13:58 +0100)]
[PATCH] We should check system() return value
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 12:55:38 +0000 (13:55 +0100)]
[PATCH] Remove SIGSEGV handler
We don't catch segfaults anymore, so remove that bit from the signal handler.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 12:51:22 +0000 (13:51 +0100)]
[PATCH] aio example should use O_DIRECT IO
Otherwise it isn't async. Since fio defaults to buffered IO now, we need
to correct this example.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 12:14:57 +0000 (13:14 +0100)]
[PATCH] Don't create files for engines that don't need them
Introduce FIO_NULLIO as a way to control that from the io engine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 10:30:37 +0000 (11:30 +0100)]
[PATCH] Misc fixes
- Change the hour/day eta display to be more clever.
- Style
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 08:54:40 +0000 (09:54 +0100)]
[PATCH] Network engine fixes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 7 Feb 2007 08:35:29 +0000 (09:35 +0100)]
[PATCH] Network io engine updates
- Use recv/send
- Set MSG_MORE on send if we are going to transmit more data
- Cleanups
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 19:17:21 +0000 (20:17 +0100)]
[PATCH] Document ->queue() in the skeleton engine
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 19:15:38 +0000 (20:15 +0100)]
[PATCH] Support residual io counts from io engines
We need this for requeuing support, the network engine makes this
pretty apparent (it's not unusual to see short tranfers there).
Basically we add an xfer_buf and xfer_buflen member to the io_u,
and these are the fields that the io engine MUST use. That allows
fio to increment and reset these appropriately, and simply requeue
the io_u for service of the next part of it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 18:27:27 +0000 (19:27 +0100)]
[PATCH] Support for > 1 network connection
Now the net ioengine also supports the nrfiles option to open
multiple connections.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 18:16:01 +0000 (19:16 +0100)]
[PATCH] Network engine updates
A few comments, pass down port short instead of buffer.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 13:43:52 +0000 (14:43 +0100)]
[PATCH] Simple support for networked IO
Adds a new ioengine, net. Use with ioengine=net, it supports only strict
reading or writing (no mixed reads/writes) to/from a single host.
The filename given must contain the host and port to connect to (or
listen from).
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 12:29:55 +0000 (13:29 +0100)]
[PATCH] Rename io engines
Typing fio-engine-foo is annoying, just rename them to their type. They
already reside in a private directory, no point in putting the fio-engine
prefix on the files.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 6 Feb 2007 12:25:33 +0000 (13:25 +0100)]
[PATCH] Fix buffer alignment on non-4kb archs
Retrieve page size through sysconf.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 5 Feb 2007 14:04:46 +0000 (15:04 +0100)]
[PATCH] Add 'description' option
Can help provide a textual description of a job, if it's submitted
to someone for run/review.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 5 Feb 2007 09:52:10 +0000 (10:52 +0100)]
[PATCH] Fix sg ioengine
We need to do the ->init() call after having opened the file,
otherwise sg doesn't know what file type it is dealing with.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 5 Feb 2007 09:47:48 +0000 (10:47 +0100)]
[PATCH] Fix double free in sg engine error path
We need to clear td->io_ops->data if we free the structure,
otherwise the ->cleanup() handler will try to free it again.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 24 Jan 2007 08:21:31 +0000 (09:21 +0100)]
[PATCH] Fix typo
WRITE -> DDIR_WRITE
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>