fio.git
17 years agosyslet v4 support
Jens Axboe [Mon, 26 Feb 2007 09:22:31 +0000 (10:22 +0100)]
syslet v4 support

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRequeue io_u flags fix
Jens Axboe [Sat, 24 Feb 2007 12:31:57 +0000 (13:31 +0100)]
Requeue io_u flags fix

We need to clear IO_U_F_FLIGHT and set IO_U_F_FREE in requeue.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFirst cut at doing sequences of atoms in one commit
Jens Axboe [Fri, 23 Feb 2007 12:21:45 +0000 (13:21 +0100)]
First cut at doing sequences of atoms in one commit

Needs error handling and stop conditions, so it's in an experimental
branch for now.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMove completion handler into the io_u
Jens Axboe [Fri, 23 Feb 2007 11:34:57 +0000 (12:34 +0100)]
Move completion handler into the io_u

This is needed for completions that happen outside of fio,
or more specifically, for syslet to enable completions in
a ->queue() hook combined with ->commit().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDon't include engines we don't have
Jens Axboe [Fri, 23 Feb 2007 10:23:03 +0000 (11:23 +0100)]
Don't include engines we don't have

With the new option scheme, it's easier to just diff out the option
types we don't support. So do that for the io engines.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoIO engine callback need not dump possible values
Jens Axboe [Fri, 23 Feb 2007 10:18:30 +0000 (11:18 +0100)]
IO engine callback need not dump possible values

The parser will do this now. Also don't dump the worthless
"job dropped" message.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoRate must always calculate bytes done
Jens Axboe [Fri, 23 Feb 2007 09:56:22 +0000 (10:56 +0100)]
Rate must always calculate bytes done

Otherwise rate will never be checked.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove rate usec calculation
Jens Axboe [Fri, 23 Feb 2007 09:47:46 +0000 (10:47 +0100)]
Improve rate usec calculation

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoMove handling of possible values into the option parser
Jens Axboe [Fri, 23 Feb 2007 09:29:16 +0000 (10:29 +0100)]
Move handling of possible values into the option parser

Eliminates the need for a callback for any FIO_OPT_STR type
option, unless it needs to do something there other than just
setting the variable.

The possible options are not in an array of value pairs, so we
can easily match an string option with an integer output value.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoStreamline thread_data data direction setting and checking
Jens Axboe [Fri, 23 Feb 2007 08:26:09 +0000 (09:26 +0100)]
Streamline thread_data data direction setting and checking

Currently it's a mess of ->ddir, ->iomix and ->sequential. Add
a TD_DDIR_* for each of these, so we can store them as one value.

A prerequisite for the next parsing cleanup.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd option to select how to service multiple files
Jens Axboe [Fri, 23 Feb 2007 07:45:55 +0000 (08:45 +0100)]
Add option to select how to service multiple files

Right now we just round robin the open files, but sometimes you
just want to randomly go through the files. Add a 'file_service'
option for that, default to round robin still.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDump io_u on timeout
Jens Axboe [Thu, 22 Feb 2007 19:33:01 +0000 (20:33 +0100)]
Dump io_u on timeout

It's still disabled, though.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCorrect spelling error
Jens Axboe [Thu, 22 Feb 2007 18:37:53 +0000 (19:37 +0100)]
Correct spelling error

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoAdd more context to the error messages
Jens Axboe [Thu, 22 Feb 2007 18:36:48 +0000 (19:36 +0100)]
Add more context to the error messages

Errors like:

fio: pid=0, err=22/file:filesetup.c:380, error=Invalid argument

do not give a lot of clue as to what is wrong, unless you
have a matching source. So add a context relevant info
message as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoList syslet-rw as a supported option in the ioengine help dump
Jens Axboe [Thu, 22 Feb 2007 13:08:36 +0000 (14:08 +0100)]
List syslet-rw as a supported option in the ioengine help dump

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agosyslet: syscall still needs void * cast
Jens Axboe [Thu, 22 Feb 2007 13:08:13 +0000 (14:08 +0100)]
syslet: syscall still needs void * cast

It avoids the long -> structure pointer cast warning.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDon't check st_size for special files
Jens Axboe [Thu, 22 Feb 2007 13:07:39 +0000 (14:07 +0100)]
Don't check st_size for special files

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agosyslet: typo
Jens Axboe [Thu, 22 Feb 2007 12:49:36 +0000 (13:49 +0100)]
syslet: typo

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFurther improve thread handling
Jens Axboe [Thu, 22 Feb 2007 11:26:57 +0000 (12:26 +0100)]
Further improve thread handling

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix crash on thread exit
Jens Axboe [Thu, 22 Feb 2007 11:26:20 +0000 (12:26 +0100)]
Fix crash on thread exit

If we had multiple threads, we could corrupt the heap by
freeing memory we did not alloc.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoThread waitpid() error check
Jens Axboe [Thu, 22 Feb 2007 11:11:26 +0000 (12:11 +0100)]
Thread waitpid() error check

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoImprove thread reap handling
Jens Axboe [Thu, 22 Feb 2007 10:53:00 +0000 (11:53 +0100)]
Improve thread reap handling

It's a bit of a mess currently, streamline and clean it up.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDisable timeout handling for now
Jens Axboe [Thu, 22 Feb 2007 10:30:05 +0000 (11:30 +0100)]
Disable timeout handling for now

It needs to get some more testing. It appears to work fine, just
want to be a little cautious.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoInclude engines in dependency check
Jens Axboe [Thu, 22 Feb 2007 10:24:59 +0000 (11:24 +0100)]
Include engines in dependency check

Changing fio.h sometimes didn't trigger rebuild of the IO engines,
causing weird problems.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoio_u timeout handling
Jens Axboe [Thu, 22 Feb 2007 09:39:01 +0000 (10:39 +0100)]
io_u timeout handling

Further measures to prevent fio getting stuck, even in case of
engine timeout errors.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoTrack io_u state (free or in-flight)
Jens Axboe [Thu, 22 Feb 2007 10:19:39 +0000 (11:19 +0100)]
Track io_u state (free or in-flight)

That way we can catch proper use by fio, so we don't get stuck
in cleanup_pending_aio() if someone forgot to put_io_u() in an
error path.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoNo need to cast async_exec() syscall to void * anymore
Jens Axboe [Thu, 22 Feb 2007 10:11:48 +0000 (11:11 +0100)]
No need to cast async_exec() syscall to void * anymore

Ingo forward declared the types.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agosyslet engine: style fix and ->queue() error return value fix
Jens Axboe [Thu, 22 Feb 2007 10:08:52 +0000 (11:08 +0100)]
syslet engine: style fix and ->queue() error return value fix

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agov3 syslet engine support
Ingo Molnar [Wed, 21 Feb 2007 22:25:44 +0000 (23:25 +0100)]
v3 syslet engine support

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoStill need to put io_u on early exit
Jens Axboe [Wed, 21 Feb 2007 22:02:39 +0000 (23:02 +0100)]
Still need to put io_u on early exit

The previous fix was too drastic, if we don't put the io_u on early
exit, cleanup_pending_aio() will stall forever waiting for it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoCorrect io_u_*_complete() return checking
Jens Axboe [Wed, 21 Feb 2007 19:28:14 +0000 (20:28 +0100)]
Correct io_u_*_complete() return checking

An error is < 0, not any non-zero value... This unbreaks verify again.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDon't overwrite error
Jens Axboe [Wed, 21 Feb 2007 19:14:33 +0000 (20:14 +0100)]
Don't overwrite error

The first error is usually the most interesting, so don't overwrite
in __td_verror().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoFix double io_u free on error in do_verify()
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>
17 years ago64-bit compile warnings
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>
17 years agoChange IO latency histogram to be in power-of-10
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>
17 years agoMakefile: libdir is not used anymore
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>
17 years agoMore __must_check annotations
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>
17 years agoStatic error value checking
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>
17 years agommap IO engine cannot extend a file
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>
17 years agoLeftover debug message
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>
17 years agoAdd low water mark for queuing depth
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>
17 years agoFirst step for group reporting
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>
17 years agoFix sync engine completion latency
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>
17 years agoUpdate io_u.c comments
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>
17 years agoImprove submission latency calculation
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>
17 years agoUse 0 timeout for command completion peek
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>
17 years agoUpdate documentation wrt comment
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>
17 years agofio: allow '#' comments
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>
17 years agofio: syslet.h build fix
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>
17 years agoBe safe and re-prep requeue io_u's
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>
17 years agoMissing clear of some IO state
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>
17 years agoClean core files on make clean
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>
17 years agoFix busy looping for io_u_queued_complete()
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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>