fio.git
13 years agoVerify requeue handling
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>
13 years agoRetrieve next file to service in get_io_u()
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>
13 years agoAdd support for queuing > 1 command at the time
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>
13 years agoDifferentiate between bool error return and real error value
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>
13 years agoCleanup end IO handling
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>
13 years agoUnify and fixup error handling
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>
13 years agoFully parallellize io_u verification
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>
13 years agoChange IO engine queuing
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>
13 years ago[PATCH] Add thinktime_spin parameter
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>
13 years ago[PATCH] Don't check status if ret < 0
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>
13 years ago[PATCH] Catch processes/threads that unexpectedly exited
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>
13 years ago[PATCH] Further improve child exit reaping
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>
13 years ago[PATCH] file descriptor is int
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>
13 years ago[PATCH] IO completion time histograms
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>
13 years ago[PATCH] Fix random seed for numjobs > 1
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>
13 years ago[PATCH] Fixup client error exit
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>
13 years ago[PATCH] Fixup file type recognition
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>
13 years ago[PATCH] Defer engine ops verification check
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>
13 years ago[PATCH] Make fio compile on non-x86 again
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>
13 years ago[PATCH] syslet: code cleanup
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>
13 years ago[PATCH] syslet: fix leak of ring and ahu
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>
13 years ago[PATCH] syslet: async_head_user struct should be permanent
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>
13 years ago[PATCH] syslet engine: use pread instead lseek+read
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>
13 years ago[PATCH] Let the syslet ioengine register check supportability
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>
13 years ago[PATCH] Exabytes
Jens Axboe [Wed, 14 Feb 2007 00:27:09 +0000 (01:27 +0100)]
[PATCH] Exabytes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Document syslet-rw engine
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>
13 years ago[PATCH] First cut syslet async io support
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>
13 years ago[PATCH] Make fio_assert() core dump the job
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>
13 years ago[PATCH] Random map needs to use ->real_file_size, not ->file_size
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>
13 years ago[PATCH] Make the exit value meaningfull
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>
13 years ago[PATCH] Woops, left debug clear in there
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>
13 years ago[PATCH] Add fio_assert()
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>
13 years ago[PATCH] Fix buflen trimming
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>
13 years ago[PATCH] Total io is the sum of READ and WRITE
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>
13 years ago[PATCH] One more round of random map fixes
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>
13 years ago[PATCH] Sign warning
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>
13 years ago[PATCH] Network engine poll() paranoia
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>
13 years ago[PATCH] Document/comment fio.h
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>
13 years ago[PATCH] Make ctrl-c work with network io and accept loop
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>
13 years ago[PATCH] Move td_verror() into io_ops->queue() hook
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>
13 years ago[PATCH] Allow thread/group dump regardless of error state
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>
13 years ago[PATCH] Fix stack overflow
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>
13 years ago[PATCH] Separate bandwidth log and rate display
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>
13 years ago[PATCH] Pretty up stat output
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>
13 years ago[PATCH] Kill redundant header files
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>
13 years ago[PATCH] More random map fixes
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>
13 years ago[PATCH] Random map fix
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>
13 years ago[PATCH] Size parse should use strtoll()
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>
13 years ago[PATCH] File size fix on NULL io engines
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>
13 years ago[PATCH] Catch and print if directory= doesn't exist
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>
13 years ago[PATCH] Make the libaio fsync fallback really work
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>
13 years ago[PATCH] libaio engine: fake work-around for sync issue
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>
13 years ago[PATCH] Fix libaio engine SYNC
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>
13 years ago[PATCH] CFLAGS: -fstack-protector doesn't work on older compilers
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>
13 years ago[PATCH] Net engine typo
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>
13 years ago[PATCH] SG IO engine: reduce allocations and memory leaks
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>
13 years ago[PATCH] SG IO engine: remember to set io_u->file in init
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>
13 years ago[PATCH] SG io engine: better handling of multiple files
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>
13 years ago[PATCH] Network engine cleanups and comments
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>
13 years ago[PATCH] Improve dependency checking on builds
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>
13 years ago[PATCH] Enable _FORTIFY_SOURCE and stack protector checking
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>
13 years ago[PATCH] We should check system() return value
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>
13 years ago[PATCH] Remove SIGSEGV handler
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>
13 years ago[PATCH] aio example should use O_DIRECT IO
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>
13 years ago[PATCH] Don't create files for engines that don't need them
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>
13 years ago[PATCH] Misc fixes
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>
13 years ago[PATCH] Network engine fixes
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>
13 years ago[PATCH] Network io engine updates
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>
13 years ago[PATCH] Document ->queue() in the skeleton engine
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>
13 years ago[PATCH] Support residual io counts from io engines
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>
13 years ago[PATCH] Support for > 1 network connection
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>
13 years ago[PATCH] Network engine updates
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>
13 years ago[PATCH] Simple support for networked IO
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>
13 years ago[PATCH] Rename io engines
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>
13 years ago[PATCH] Fix buffer alignment on non-4kb archs
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>
13 years ago[PATCH] Add 'description' option
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>
13 years ago[PATCH] Fix sg ioengine
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>
13 years ago[PATCH] Fix double free in sg engine error path
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>
13 years ago[PATCH] Fix typo
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>
13 years ago[PATCH] Only generate global bandwidth log if write_bw_log set
Jens Axboe [Wed, 17 Jan 2007 06:42:30 +0000 (17:42 +1100)]
[PATCH] Only generate global bandwidth log if write_bw_log set

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Add support for writing aggregate bandwidth log
Jens Axboe [Wed, 17 Jan 2007 06:23:11 +0000 (17:23 +1100)]
[PATCH] Add support for writing aggregate bandwidth log

This is the same that is shown while fio is running, it can be useful
for graphing purposes as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Unlink write file if !overwrite and it exists
Jens Axboe [Sun, 14 Jan 2007 04:56:44 +0000 (05:56 +0100)]
[PATCH] Unlink write file if !overwrite and it exists

Repeatability across runs, unlink the file so that the job
runs like it wasn't there to begin with.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Don't make file unlink the default
Jens Axboe [Sat, 13 Jan 2007 23:00:29 +0000 (00:00 +0100)]
[PATCH] Don't make file unlink the default

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] The last io depth entry is actually >= 64, not > 32
Jens Axboe [Sat, 13 Jan 2007 22:59:00 +0000 (23:59 +0100)]
[PATCH] The last io depth entry is actually >= 64, not > 32

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Include io depth distribution statistics
Jens Axboe [Sat, 13 Jan 2007 22:56:33 +0000 (23:56 +0100)]
[PATCH] Include io depth distribution statistics

Calculate the distribution of io depths for the job run.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Remove the time init check
Jens Axboe [Sat, 13 Jan 2007 14:17:22 +0000 (15:17 +0100)]
[PATCH] Remove the time init check

We cannot control constructor ordering easily, hence the check
code was also in fio_gettime().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Shorten 'commitrate' to 'CR'
Jens Axboe [Sat, 13 Jan 2007 14:15:47 +0000 (15:15 +0100)]
[PATCH] Shorten 'commitrate' to 'CR'

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Fixup rate usec cycle calculation for small values
Jens Axboe [Sat, 13 Jan 2007 11:29:13 +0000 (12:29 +0100)]
[PATCH] Fixup rate usec cycle calculation for small values

If someone set rate to 2KiB/sec or something low in that range,
we would integer divide by zero. Do calculation in reads per msec
instead of full seconds and fix the zero division.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Improve rate functionality
Jens Axboe [Sat, 13 Jan 2007 11:20:30 +0000 (12:20 +0100)]
[PATCH] Improve rate functionality

usec_sleep() now takes into account the granularity of nanosleep().
Also stop using the remainder returned by nanosleep(), it doesn't
appear to always be accurate. Instead just check the elapsed time
manually.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Properly shutdown in case of serious errors
Jens Axboe [Fri, 12 Jan 2007 08:04:41 +0000 (09:04 +0100)]
[PATCH] Properly shutdown in case of serious errors

Introduce fio_abort to do a forced shutdown of everything for things
like segfaults.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Update HOWTO
Jens Axboe [Thu, 11 Jan 2007 18:25:52 +0000 (19:25 +0100)]
[PATCH] Update HOWTO

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Cleanup some output code
Jens Axboe [Thu, 11 Jan 2007 18:24:55 +0000 (19:24 +0100)]
[PATCH] Cleanup some output code

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Thu, 11 Jan 2007 14:59:35 +0000 (15:59 +0100)]
Merge branch 'master' of ssh://router/data/git/fio

13 years ago[PATCH] Update irange documentation
Jens Axboe [Thu, 11 Jan 2007 14:59:26 +0000 (15:59 +0100)]
[PATCH] Update irange documentation

Also allow ':' as the range delimeter, and '/' as the
direction delimeter.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Help: thinktime is in microseconds
Jens Axboe [Thu, 11 Jan 2007 13:06:35 +0000 (14:06 +0100)]
[PATCH] Help: thinktime is in microseconds

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Abort early for bad option given to --cmdhelp
Jens Axboe [Thu, 11 Jan 2007 13:04:47 +0000 (14:04 +0100)]
[PATCH] Abort early for bad option given to --cmdhelp

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Really fixup disk util init
Jens Axboe [Thu, 11 Jan 2007 13:01:27 +0000 (14:01 +0100)]
[PATCH] Really fixup disk util init

Include disk io ticks, if the job itself creates the file. Don't
include it, if we create the file before running the job.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years agoRevert "[PATCH] Move disk utilization setup to thread itself"
Jens Axboe [Thu, 11 Jan 2007 12:58:32 +0000 (13:58 +0100)]
Revert "[PATCH] Move disk utilization setup to thread itself"

This reverts commit d52fb0c44567cf4fdc2a2c307c32672cc5a57170.

13 years ago[PATCH] Move disk utilization setup to thread itself
Jens Axboe [Thu, 11 Jan 2007 13:44:40 +0000 (14:44 +0100)]
[PATCH] Move disk utilization setup to thread itself

We don't want it to include potential file creation before the job runs.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
13 years ago[PATCH] Warn if both option variable offset and callback given
Jens Axboe [Thu, 11 Jan 2007 13:40:27 +0000 (14:40 +0100)]
[PATCH] Warn if both option variable offset and callback given

If the callback is present, it is preferred to the offsets. So
giving offsets with a callback specified doesn't make sense.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>