fio.git
8 years agograph: fix crash on alias in prio tree
Jens Axboe [Wed, 21 Mar 2012 18:48:32 +0000 (19:48 +0100)]
graph: fix crash on alias in prio tree

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: clear prio root iter on extra loop
Jens Axboe [Wed, 21 Mar 2012 18:33:32 +0000 (19:33 +0100)]
graph: clear prio root iter on extra loop

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: fix for unitialized graph_value nodes
Jens Axboe [Wed, 21 Mar 2012 17:54:30 +0000 (18:54 +0100)]
graph: fix for unitialized graph_value nodes

And leaking tooltip/node on free.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: remove debug printf
Jens Axboe [Wed, 21 Mar 2012 16:18:46 +0000 (17:18 +0100)]
graph: remove debug printf

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: switch tooltip lookups to being range based in a prio tree
Jens Axboe [Wed, 21 Mar 2012 16:17:45 +0000 (17:17 +0100)]
graph: switch tooltip lookups to being range based in a prio tree

This cuts a lot of the CPU usage from browsing bigger graphs. Even
the normal graphs are typically cut in half.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMove rbtree into lib/
Jens Axboe [Wed, 21 Mar 2012 13:07:11 +0000 (14:07 +0100)]
Move rbtree into lib/

And make ARRAY_SIZE() generally available, also outside gfio.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: stop matching tooltips if X diff is too large
Jens Axboe [Wed, 21 Mar 2012 12:36:46 +0000 (13:36 +0100)]
graph: stop matching tooltips if X diff is too large

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: set notebook label to base filename
Jens Axboe [Wed, 21 Mar 2012 11:55:49 +0000 (12:55 +0100)]
gfio: set notebook label to base filename

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: use glib hash for tab lookup
Jens Axboe [Wed, 21 Mar 2012 11:48:32 +0000 (12:48 +0100)]
gfio: use glib hash for tab lookup

Not really a CPU saver, but it reduces the amount of code we have
to maintain by getting rid of the list lookup.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix gc leak
Jens Axboe [Wed, 21 Mar 2012 11:02:13 +0000 (12:02 +0100)]
gfio: fix gc leak

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fixup spurious editor indent
Jens Axboe [Wed, 21 Mar 2012 10:59:18 +0000 (11:59 +0100)]
gfio: fixup spurious editor indent

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: split some parts into gclient.c
Jens Axboe [Wed, 21 Mar 2012 10:13:31 +0000 (11:13 +0100)]
gfio: split some parts into gclient.c

We'll probably want to split gclient.c into op code handling and
results display/view.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add gerror.c for reporting errors
Jens Axboe [Wed, 21 Mar 2012 09:25:29 +0000 (10:25 +0100)]
gfio: add gerror.c for reporting errors

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: update for handling files, connections, states
Jens Axboe [Wed, 21 Mar 2012 09:15:20 +0000 (10:15 +0100)]
gfio: update for handling files, connections, states

Big update, changes:

- Notify from client helpers when a client is removed. This helps
  gfio track this.

- Make the connection states more bullet proof. You can now connect
  and disconnect, and expect connect to work again.

- Limit number of files opened through file selection or drag'n drop
  to just 1.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient: don't leak file descriptor on exit
Jens Axboe [Tue, 20 Mar 2012 14:15:00 +0000 (15:15 +0100)]
client: don't leak file descriptor on exit

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: use passed in sk in send functions
Jens Axboe [Tue, 20 Mar 2012 13:35:35 +0000 (14:35 +0100)]
server: use passed in sk in send functions

It's not always server_fd, for client communication it's the
client fd.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: lessen use of main_ui directly
Jens Axboe [Tue, 20 Mar 2012 11:25:36 +0000 (12:25 +0100)]
gfio: lessen use of main_ui directly

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: remember to mark option index for FIO_OPT_STR_VAL
Jens Axboe [Tue, 20 Mar 2012 11:09:13 +0000 (12:09 +0100)]
goptions: remember to mark option index for FIO_OPT_STR_VAL

Fixes hiding of these options.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: use glib n-ary tree for option dependencies
Jens Axboe [Tue, 20 Mar 2012 10:29:09 +0000 (11:29 +0100)]
goptions: use glib n-ary tree for option dependencies

We didn't support looking up children of children before, since
it would just be too costly (making the whole 'visible' thing
be N!). Move to a glib n-ary tree for option dependencies, this
is a lot cleaner and faster.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: enable combo box hiding
Jens Axboe [Tue, 20 Mar 2012 09:29:45 +0000 (10:29 +0100)]
goptions: enable combo box hiding

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agooptions: add ->hide_on_set
Jens Axboe [Tue, 20 Mar 2012 09:19:44 +0000 (10:19 +0100)]
options: add ->hide_on_set

Normally we hide children if the parent isn't set, but for some
options it's the other way around.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: don't emit change signals during setup
Jens Axboe [Tue, 20 Mar 2012 09:05:38 +0000 (10:05 +0100)]
goptions: don't emit change signals during setup

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: ensure that FIO_OPT_STR_VAL doesn't exceed max multiplier
Jens Axboe [Tue, 20 Mar 2012 08:49:49 +0000 (09:49 +0100)]
goptions: ensure that FIO_OPT_STR_VAL doesn't exceed max multiplier

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: better support for FIO_OPT_STR_VAL
Jens Axboe [Tue, 20 Mar 2012 08:32:35 +0000 (09:32 +0100)]
goptions: better support for FIO_OPT_STR_VAL

Split the value into two components, an integer 0-1023 value
and a combo box with a b/kb/gb/tb/etc multiplier.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: free opt types on exit from edit options view
Jens Axboe [Tue, 20 Mar 2012 07:31:29 +0000 (08:31 +0100)]
goptions: free opt types on exit from edit options view

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: kill ge on widget destroy
Jens Axboe [Tue, 20 Mar 2012 07:20:48 +0000 (08:20 +0100)]
gfio: kill ge on widget destroy

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMerge branch 'gfio' of ssh://brick.kernel.dk/data/git/fio into gfio
Jens Axboe [Tue, 20 Mar 2012 07:11:47 +0000 (08:11 +0100)]
Merge branch 'gfio' of ssh://brick.kernel.dk/data/git/fio into gfio

8 years agogfio: fix crash on exit
Stephen M. Cameron [Tue, 20 Mar 2012 06:11:26 +0000 (07:11 +0100)]
gfio: fix crash on exit

Pass in correct data pointer.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: clear stale widget pointers on dialog destruction
Stephen M. Cameron [Tue, 20 Mar 2012 06:10:47 +0000 (07:10 +0100)]
gfio: clear stale widget pointers on dialog destruction

gopt_widgets and gopt_g_widgets arrays need to be cleared when
the job editing dialog widget tree is destroyed, otherwise you
get a crash or weird behavior if you attempt to edit a job more
than once.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogoptions: block gtk signal handlers instead of hacking around them
Jens Axboe [Mon, 19 Mar 2012 21:01:20 +0000 (22:01 +0100)]
goptions: block gtk signal handlers instead of hacking around them

Turns out g_signal_handler_{block,unblock} exists and do exactly
what we need. Use them.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agocpu: move cpuload/cpuchunks options into private engine option space
Jens Axboe [Mon, 19 Mar 2012 20:45:12 +0000 (21:45 +0100)]
cpu: move cpuload/cpuchunks options into private engine option space

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agooptions: more groupings
Jens Axboe [Mon, 19 Mar 2012 20:27:02 +0000 (21:27 +0100)]
options: more groupings

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: apply inverse options to buffered/direct
Jens Axboe [Mon, 19 Mar 2012 20:13:01 +0000 (21:13 +0100)]
gfio: apply inverse options to buffered/direct

For these, we'd ideally use radio buttons instead. But hard to
pass that info from the options structure, so lets just punt
to inverse check buttons for now.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agooptions: more option grouping
Jens Axboe [Mon, 19 Mar 2012 19:56:53 +0000 (20:56 +0100)]
options: more option grouping

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agooptions: group cgroups and jobs
Jens Axboe [Mon, 19 Mar 2012 19:44:33 +0000 (20:44 +0100)]
options: group cgroups and jobs

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fill default options on new job
Jens Axboe [Mon, 19 Mar 2012 19:37:41 +0000 (20:37 +0100)]
gfio: fill default options on new job

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd support for inverse options
Jens Axboe [Mon, 19 Mar 2012 19:29:44 +0000 (20:29 +0100)]
Add support for inverse options

Options that are tied to each other, meaning that if one is
incremented by X, the other is decremented by X automatically.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: option improvements
Jens Axboe [Mon, 19 Mar 2012 18:17:49 +0000 (19:17 +0100)]
gfio: option improvements

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add support for FIO_OPT_STR_MULTI options
Jens Axboe [Mon, 19 Mar 2012 17:36:29 +0000 (18:36 +0100)]
gfio: add support for FIO_OPT_STR_MULTI options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoCategorize a few more options
Jens Axboe [Mon, 19 Mar 2012 14:16:08 +0000 (15:16 +0100)]
Categorize a few more options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: improve option edit
Jens Axboe [Mon, 19 Mar 2012 13:37:08 +0000 (14:37 +0100)]
gfio: improve option edit

Allow grouping of options into both categories, and groups. The
groups are within a category. This shrinks down the number of
job edit tabs a lot.

Work in progress...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agobackend: privatize nr_thread/nr_process
Jens Axboe [Mon, 19 Mar 2012 09:44:29 +0000 (10:44 +0100)]
backend: privatize nr_thread/nr_process

We need to start moving init items out of add_job(), to allow
for updating of job options. The number of threads and processes
can be calculated before running jobs, so move them there.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: make client connections fork off
Jens Axboe [Mon, 19 Mar 2012 08:13:15 +0000 (09:13 +0100)]
server: make client connections fork off

Instead of handling connections inline from the server, fork
them off before running them. This makes the able to handle
the idle loop command send/reply directly, without being
invoked from the idle loop.

New connections are forked off automatically as well, leaving
the server free to accept new connections. Not sure we want that,
or at least it should be an option to return BUSY on attempted
new connections.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: set clat/lat bucket graph Y title
Jens Axboe [Sat, 17 Mar 2012 18:59:06 +0000 (19:59 +0100)]
gfio: set clat/lat bucket graph Y title

And ensure that disk utilization lines up from the top of the notebook page,
not centered in the middle.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMerge branch 'master' into gfio
Jens Axboe [Sat, 17 Mar 2012 18:52:32 +0000 (19:52 +0100)]
Merge branch 'master' into gfio

8 years agoAdded 99.95 and 99.99 default percentiles.
Steven Lang [Sat, 17 Mar 2012 12:16:28 +0000 (13:16 +0100)]
Added 99.95 and 99.99 default percentiles.

Since there are 20 slots for percentiles, but not all used by default,
I figure it doesn't hurt to add a couple extra percentiles to the
default for tail latency capture.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMerge branch 'master' into gfio
Jens Axboe [Sat, 17 Mar 2012 12:03:34 +0000 (13:03 +0100)]
Merge branch 'master' into gfio

8 years agoAdd regression test for 37cf9e3c
Jens Axboe [Sat, 17 Mar 2012 11:59:12 +0000 (12:59 +0100)]
Add regression test for 37cf9e3c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoEnable read/write sequential offset to be a non-multiple of the block size
Jens Axboe [Sat, 17 Mar 2012 11:54:30 +0000 (12:54 +0100)]
Enable read/write sequential offset to be a non-multiple of the block size

The way that fio does offset math internally, if a non-multiple
of the blocksize was given as a sequence offset, it would simply
be ignored due to the block offset division rounding it down.
In other words, if you did:

rw=read:512k
bs=1m

it did not read 1m and 0 offset, 1m at 512k offset, etc. Instead
the hole is ignored.

Fix this by leaving the generated sequential offset in bytes
instead of turning it into a 'fio block'.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: make option hiding actually work
Jens Axboe [Fri, 16 Mar 2012 20:45:05 +0000 (21:45 +0100)]
gfio: make option hiding actually work

We have multiple widgets if they appear in multiple tabs. Keep
track of that and hide them all.

Still need to handle non-bool options, but at least the logic
is sound now.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: initial support for hiding child options
Jens Axboe [Fri, 16 Mar 2012 20:22:56 +0000 (21:22 +0100)]
gfio: initial support for hiding child options

If children depend on a parent, we want to hide them if the parent
isn't set. This is initial support for doing that.

Nevermind that it doesn't actually work, the hiding is buggy. And
it's only implemented for the check button type options for now.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd hint on whether to hide a sub option if a parent isn't set
Jens Axboe [Fri, 16 Mar 2012 19:16:59 +0000 (20:16 +0100)]
Add hint on whether to hide a sub option if a parent isn't set

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAllow options to specify intervals
Jens Axboe [Fri, 16 Mar 2012 18:57:23 +0000 (19:57 +0100)]
Allow options to specify intervals

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: sync range spin buttons in edit view
Jens Axboe [Fri, 16 Mar 2012 18:41:01 +0000 (19:41 +0100)]
gfio: sync range spin buttons in edit view

They are paired, min/max for read, and min/max for write. If the user
adjusts the min value larger than max, adjust the max automatically.
And vice versa for the max value.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd FIO_OPT_G_IO_ENG category
Jens Axboe [Fri, 16 Mar 2012 18:16:27 +0000 (19:16 +0100)]
Add FIO_OPT_G_IO_ENG category

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd categories for missing options
Jens Axboe [Fri, 16 Mar 2012 18:08:39 +0000 (19:08 +0100)]
Add categories for missing options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoparse: ensure that an option has a category
Jens Axboe [Fri, 16 Mar 2012 17:58:39 +0000 (18:58 +0100)]
parse: ensure that an option has a category

If not, set it to misc and complain.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agotime_based: Avoid restarting main I/O loop
Daniel Ehrenberg [Fri, 16 Mar 2012 17:54:15 +0000 (18:54 +0100)]
time_based: Avoid restarting main I/O loop

Previously, when fio had written a volume of I/O equal to the size
argument, it restarted the main do_io loop.

This patch allows time_based tests to be run for longer than one
cycle in the do_io main loop. This has a couple of advantages:
 * The random number generator is not reset on each iteration
   of the loop, so running longer will reach different locations.
 * There is not a throughput-reducing point where all operations
   must be reaped before new operations are submitted.

The implementation consists of two minor changes:
 * In the do_io loop, a time_based test will not exit the loop for
   reading or writing too much data.
 * When reading or writing sequentially, the operations wrap around
   to the beginning after reading the end within the
   get_next_seq_block function.

Modified by Jens to properly restart when using a randommap
as well.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: correctly input stored FIO_OPT_STR_STORE options
Jens Axboe [Fri, 16 Mar 2012 17:53:32 +0000 (18:53 +0100)]
gfio: correctly input stored FIO_OPT_STR_STORE options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: inherit and show more options correctly in edit job
Jens Axboe [Fri, 16 Mar 2012 15:34:06 +0000 (16:34 +0100)]
gfio: inherit and show more options correctly in edit job

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: demo of how to inherit option values into edit window
Jens Axboe [Fri, 16 Mar 2012 13:56:44 +0000 (14:56 +0100)]
gfio: demo of how to inherit option values into edit window

We now fill FIO_OPT_STR_STORE options directly into the edited
values.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMerge branch 'master' into gfio
Jens Axboe [Fri, 16 Mar 2012 13:02:54 +0000 (14:02 +0100)]
Merge branch 'master' into gfio

Conflicts:
fio.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoFix problem with iodepth_batch_complete=0 and accounting
Jens Axboe [Fri, 16 Mar 2012 12:55:50 +0000 (13:55 +0100)]
Fix problem with iodepth_batch_complete=0 and accounting

If the queue is full, we always need to reap at least one event.
Otherwise we end up failing get_io_u() and restarting the file.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoFix wrap bug in mtime_since()
Jens Axboe [Fri, 16 Mar 2012 12:55:27 +0000 (13:55 +0100)]
Fix wrap bug in mtime_since()

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: move more code to ghelpers.c
Jens Axboe [Fri, 16 Mar 2012 11:05:17 +0000 (12:05 +0100)]
gfio: move more code to ghelpers.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: use 0 as the floor for the line graph
Jens Axboe [Fri, 16 Mar 2012 09:17:08 +0000 (10:17 +0100)]
graph: use 0 as the floor for the line graph

Unless we have values below 0, in which case use that.

This makes it easier to visually compare a running read/write
workload. Without this change, the lowest valued graph would define
the floor of the graph view.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: start of options view and edit
Jens Axboe [Fri, 16 Mar 2012 09:13:49 +0000 (10:13 +0100)]
gfio: start of options view and edit

This is pretty crap right now, but it's exposing all the options.
Now we just need them to reflect the current job, and be able to
update a remote job with a new set of options.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: use ctrl-d for connect/disconnect
Jens Axboe [Thu, 15 Mar 2012 20:57:40 +0000 (21:57 +0100)]
gfio: use ctrl-d for connect/disconnect

ctrl-e is used by job edit.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: start of splitting up the source a bit
Jens Axboe [Thu, 15 Mar 2012 18:38:01 +0000 (19:38 +0100)]
gfio: start of splitting up the source a bit

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: include direct/buffered IO type in the iotype field
Jens Axboe [Thu, 15 Mar 2012 17:57:03 +0000 (18:57 +0100)]
gfio: include direct/buffered IO type in the iotype field

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add bs display
Jens Axboe [Thu, 15 Mar 2012 14:55:04 +0000 (15:55 +0100)]
gfio: add bs display

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: put disk utilization tab in a scrolled window
Jens Axboe [Thu, 15 Mar 2012 14:38:02 +0000 (15:38 +0100)]
gfio: put disk utilization tab in a scrolled window

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: tighten x-axis tooltip hit
Jens Axboe [Thu, 15 Mar 2012 14:37:36 +0000 (15:37 +0100)]
graph: tighten x-axis tooltip hit

Make it 10, like the Y-axis. Seems to work well in practice.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoDocument compress_buffer_percentage, compress_buffer_chunk
Jens Axboe [Thu, 15 Mar 2012 14:02:56 +0000 (15:02 +0100)]
Document compress_buffer_percentage, compress_buffer_chunk

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoNote offset_increment parent option
Jens Axboe [Thu, 15 Mar 2012 13:53:38 +0000 (14:53 +0100)]
Note offset_increment parent option

And move it up near "offset".

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoFix offset_increment option and add man page entry for it
Jens Axboe [Thu, 15 Mar 2012 13:50:58 +0000 (14:50 +0100)]
Fix offset_increment option and add man page entry for it

td->thread_number starts at 1, not 0. So we need to subtract
one before multiplying with the offset.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agordma engine graceful teardown
Yufei Ren [Thu, 15 Mar 2012 13:44:47 +0000 (14:44 +0100)]
rdma engine graceful teardown

For rdma ioengine's one side operation, RDMA_WRITE or RDMA_READ,
server side gets a message from client side that the task is finished.
In previous version, the server simply exit() in td_io_commit() which
causes segmentation fault in thread mode or process hanging in process
mode. This patch achieves graceful tear down by setting up `td->done`
as UDP engine did.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoNew offset_increment option
Dan Ehrenberg [Thu, 15 Mar 2012 13:44:26 +0000 (14:44 +0100)]
New offset_increment option

This patch adds a new option to fio job files. It is described
in the HOWTO as follows:

offset_increment=int If this is provided, then the real offset becomes
the offset + offset_increment * thread_number, where the
thread number is a counter that starts at 0 and is incremented
for each job. This option is useful if there are several jobs
which are intended to operate on a file in parallel in disjoint
segments, with even spacing between the starting points.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fixup adding/showing of end results
Jens Axboe [Thu, 15 Mar 2012 13:36:39 +0000 (14:36 +0100)]
gfio: fixup adding/showing of end results

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: remove ->job_added, it's only ever set
Jens Axboe [Thu, 15 Mar 2012 13:09:51 +0000 (14:09 +0100)]
gfio: remove ->job_added, it's only ever set

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: reload ge->gc after clicking connect force the file open dialog
Jens Axboe [Thu, 15 Mar 2012 13:05:01 +0000 (14:05 +0100)]
gfio: reload ge->gc after clicking connect force the file open dialog

If the above happened, then we had no client to begin with and
gc is NULL. Reload it after in any case, to ensure we have a
valid copy.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: allow different tooltips for a button depending on state
Jens Axboe [Thu, 15 Mar 2012 13:03:01 +0000 (14:03 +0100)]
gfio: allow different tooltips for a button depending on state

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: move File->Open above File->Close
Jens Axboe [Thu, 15 Mar 2012 12:46:16 +0000 (13:46 +0100)]
gfio: move File->Open above File->Close

This seems more logical and also what other apps do.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: move disk utilization to a private tab in per-client results
Jens Axboe [Thu, 15 Mar 2012 12:45:02 +0000 (13:45 +0100)]
gfio: move disk utilization to a private tab in per-client results

The disk util results are shared for all clients, so it's more
appropriate to put it in a tab.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd thread number ID to appropriate network commands
Jens Axboe [Thu, 15 Mar 2012 12:10:19 +0000 (13:10 +0100)]
Add thread number ID to appropriate network commands

The client doesn't necessarily have a 1:1 mapping between jobs
and its internal job representation, so allow it to tell the
various jobs apart.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix attempt to add multiple entries to disk util frame
Jens Axboe [Thu, 15 Mar 2012 11:37:35 +0000 (12:37 +0100)]
gfio: fix attempt to add multiple entries to disk util frame

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: fix bar graph min/max displays
Jens Axboe [Thu, 15 Mar 2012 09:52:38 +0000 (10:52 +0100)]
graph: fix bar graph min/max displays

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add latency bucket bar graph to end results
Jens Axboe [Thu, 15 Mar 2012 09:45:48 +0000 (10:45 +0100)]
gfio: add latency bucket bar graph to end results

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add View -> Results menu item
Jens Axboe [Thu, 15 Mar 2012 08:44:42 +0000 (09:44 +0100)]
gfio: add View -> Results menu item

We store the incoming results, so that we can re-display them if
asked to. The menu item is sensitized appropriately depending
on whether results are available or not.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: add missing IOLOG command to text list
Jens Axboe [Thu, 15 Mar 2012 07:26:18 +0000 (08:26 +0100)]
server: add missing IOLOG command to text list

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add completion percentile bar graph
Stephen M. Cameron [Thu, 15 Mar 2012 07:10:40 +0000 (08:10 +0100)]
gfio: add completion percentile bar graph

Mostly just to display the bar graph for now, we'll change this to
be the latency buckets instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: only parse white color once
Stephen M. Cameron [Thu, 15 Mar 2012 06:58:14 +0000 (07:58 +0100)]
gfio: only parse white color once

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: include name of iolog in gdio_client_iolog()
Jens Axboe [Wed, 14 Mar 2012 20:55:07 +0000 (21:55 +0100)]
gfio: include name of iolog in gdio_client_iolog()

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient/server: zlib error code fixup
Jens Axboe [Wed, 14 Mar 2012 20:53:00 +0000 (21:53 +0100)]
client/server: zlib error code fixup

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: add vectored fio_send_cmd_ext_pdu()
Jens Axboe [Wed, 14 Mar 2012 20:51:38 +0000 (21:51 +0100)]
server: add vectored fio_send_cmd_ext_pdu()

And use it for the multi segment continue type sending that
the iolog handler uses.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: debug dump on iolog receive
Jens Axboe [Wed, 14 Mar 2012 20:51:18 +0000 (21:51 +0100)]
gfio: debug dump on iolog receive

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: add fio_sendv_data()
Jens Axboe [Wed, 14 Mar 2012 20:25:51 +0000 (21:25 +0100)]
server: add fio_sendv_data()

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: remove stale comment, hiding menu items DOES work now
Jens Axboe [Wed, 14 Mar 2012 19:19:49 +0000 (20:19 +0100)]
gfio: remove stale comment, hiding menu items DOES work now

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: start of results window menu support
Jens Axboe [Wed, 14 Mar 2012 19:17:57 +0000 (20:17 +0100)]
gfio: start of results window menu support

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix double alloc of action_group
Jens Axboe [Wed, 14 Mar 2012 18:49:40 +0000 (19:49 +0100)]
gfio: fix double alloc of action_group

Signed-off-by: Jens Axboe <axboe@kernel.dk>