fio.git
8 years agogfio: graphing updates
Jens Axboe [Wed, 14 Mar 2012 09:25:44 +0000 (10:25 +0100)]
gfio: graphing updates

- Don't draw tickmark labels for an empty graph
- Remove Y-axis label. It was a bit awkward and hard to read.
- Ensure that we always put proper units on the Y-axis graph.
- Ensure that we always include the top most Y-axis tickmark
  and make that the ceiling, not the highest Y value. It's hard
  to visually understand a graph that is drawing somewhere above
  the last labeled tickmark.
- Fix rounding errors in graph.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix complaint about unsupported type for recent files
Jens Axboe [Tue, 13 Mar 2012 19:29:39 +0000 (20:29 +0100)]
gfio: fix complaint about unsupported type for recent files

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix leak of ge->job_files
Jens Axboe [Tue, 13 Mar 2012 18:02:04 +0000 (19:02 +0100)]
gfio: fix leak of ge->job_files

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: update TODO
Jens Axboe [Tue, 13 Mar 2012 14:17:48 +0000 (15:17 +0100)]
gfio: update TODO

We have recent file support now.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: Add Drag'n drop support
Jens Axboe [Tue, 13 Mar 2012 14:16:11 +0000 (15:16 +0100)]
gfio: Add Drag'n drop support

And unify the file-open-in-a-tab functionality.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoRename t0001 regression job to have .fio file extension
Jens Axboe [Tue, 13 Mar 2012 13:01:44 +0000 (14:01 +0100)]
Rename t0001 regression job to have .fio file extension

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

Conflicts:
client.c
fio.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd regression test for 82af2a7c
Jens Axboe [Tue, 13 Mar 2012 12:55:38 +0000 (13:55 +0100)]
Add regression test for 82af2a7c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoFix failure to verify in mixed read/write workload with backlog
Jens Axboe [Tue, 13 Mar 2012 12:45:58 +0000 (13:45 +0100)]
Fix failure to verify in mixed read/write workload with backlog

If you run a workload like this:

fio --rw=randrw --bs=4k --direct=1 --ioengine=libaio --iodepth=32
--verify=meta --verify_backlog=1024 --verify_fatal=1 --name=ver-test
--filename=foo --size=1G --verify_pattern=0xaaa

Fio ends up never actually verifying the written blocks. This happens
because as we generate an entry to be verified, the backend checks
whether this is a read/write mixed workload. It then thinks that the
READ is just that, a normal READ, when in fact it could be coming
from our verify list.

Mark such a read as coming from our verify list, so that we know if
it's a "normal" read or one generated to verify previously written
data.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add recently opened files to File menu
Jens Axboe [Tue, 13 Mar 2012 11:26:41 +0000 (12:26 +0100)]
gfio: add recently opened files to File menu

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: change Job->Connect menu item string
Jens Axboe [Tue, 13 Mar 2012 09:58:59 +0000 (10:58 +0100)]
gfio: change Job->Connect menu item string

Change it from Connect <-> Disconnect, same as how we handle
the button.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd gfio TODO file
Jens Axboe [Tue, 13 Mar 2012 09:52:35 +0000 (10:52 +0100)]
Add gfio TODO file

Not complete, but it's a start.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: remove widgets from struct gui/gui_entry that we don't really use
Jens Axboe [Tue, 13 Mar 2012 09:37:04 +0000 (10:37 +0100)]
gfio: remove widgets from struct gui/gui_entry that we don't really use

Lots of these are only used for initial setup of the page, other
entries are the ones we reuse later. So kill the entries to avoid
confusing them post init.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoClient reference fixes
Jens Axboe [Tue, 13 Mar 2012 08:59:53 +0000 (09:59 +0100)]
Client reference fixes

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add support for graph tooltips
Jens Axboe [Tue, 13 Mar 2012 08:45:22 +0000 (09:45 +0100)]
gfio: add support for graph tooltips

Will show the actual value logged at that point.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: allow close with ctrl-w if there are no clients
Jens Axboe [Tue, 13 Mar 2012 07:20:41 +0000 (08:20 +0100)]
gfio: allow close with ctrl-w if there are no clients

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, 13 Mar 2012 07:08:48 +0000 (08:08 +0100)]
Merge branch 'gfio' of ssh://brick.kernel.dk/data/git/fio into gfio

8 years agogfio: fix hiding of menu entries
Stephen M. Cameron [Tue, 13 Mar 2012 07:08:32 +0000 (08:08 +0100)]
gfio: fix hiding of menu entries

It helps a lot to use the proper casing...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix crash when pushing 'start job' and no client connected
Jens Axboe [Mon, 12 Mar 2012 22:05:29 +0000 (23:05 +0100)]
gfio: fix crash when pushing 'start job' and no client connected

We should not really need this fix, but until the menu item
sensitivity is fixed, they are visible and we should avoid
the crash.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMakefile: properly clean all objects on make clean
Jens Axboe [Mon, 12 Mar 2012 14:17:12 +0000 (15:17 +0100)]
Makefile: properly clean all objects on make clean

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix wrong pointer being passed into file_open()
Jens Axboe [Mon, 12 Mar 2012 14:09:42 +0000 (15:09 +0100)]
gfio: fix wrong pointer being passed into file_open()

We passed the gui_entry, it wants the gui. Fixes segfault
on clicking "Connect", when attempting to auto-load the
file open dialog.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: prep for recent files
Jens Axboe [Mon, 12 Mar 2012 13:58:22 +0000 (14:58 +0100)]
gfio: prep for recent files

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: improve Job menu
Jens Axboe [Mon, 12 Mar 2012 13:33:16 +0000 (14:33 +0100)]
gfio: improve Job menu

Still need to figure out how to make certain items in the
job menu sensitive/insensitive, apparently I can't lookup
the item widgets (only the menu widget).

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add support for making job menu visible or not
Jens Axboe [Mon, 12 Mar 2012 11:05:50 +0000 (12:05 +0100)]
gfio: add support for making job menu visible or not

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add close-tab functionality
Jens Axboe [Mon, 12 Mar 2012 10:56:09 +0000 (11:56 +0100)]
gfio: add close-tab functionality

And start Job menu.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: prevent multitext crash on invalid update
Jens Axboe [Mon, 12 Mar 2012 10:05:46 +0000 (11:05 +0100)]
gfio: prevent multitext crash on invalid update

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoGroup options into categories
Jens Axboe [Mon, 12 Mar 2012 09:46:43 +0000 (10:46 +0100)]
Group options into categories

Each option can belong to several categories. This is going to
help us make some sort of sane GUI representation of options.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: pack per-job info in a multitext structure
Jens Axboe [Mon, 12 Mar 2012 09:23:28 +0000 (10:23 +0100)]
gfio: pack per-job info in a multitext structure

Just like the name entry, we can have differing io engines, depth,
etc. Allow these to be stored and set when the user selects the
appropriate entry in the combo box.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoOnly send job options once
Jens Axboe [Mon, 12 Mar 2012 06:47:27 +0000 (07:47 +0100)]
Only send job options once

If we have numjobs=x set with x higher than 1, the CLI client
prints the first and last job. But for the GUI, we just want
the one notification of an added job.

This fixes the case where we seem to have loaded two jobs,
but it is just one.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add extra space to the graphs at the edges
Stephen M. Cameron [Mon, 12 Mar 2012 06:32:57 +0000 (07:32 +0100)]
gfio: add extra space to the graphs at the edges

This is to make it easier to read and also keeps the lines from
going beyond the edges of the graph.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix tickmark shortening for zero special case
Stephen M. Cameron [Mon, 12 Mar 2012 06:32:30 +0000 (07:32 +0100)]
gfio: fix tickmark shortening for zero special case

"0" tickmark can effectively be shortened by dividing by
any number as 0 / anything is still 0, but the code was
considering "0" to be unshortenable.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: drop more than 1 entry, if we are more than 1 above the limit
Jens Axboe [Sun, 11 Mar 2012 20:35:47 +0000 (21:35 +0100)]
graph: drop more than 1 entry, if we are more than 1 above the limit

If we dynamically reduce the data entry limit, it's not enough to
drop one entry when we add one. In that case, drop two everytime
we add one. Then we'll eventually get smoothly down to the specified
limit.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: use current value of graph limit as the default
Jens Axboe [Sun, 11 Mar 2012 12:05:35 +0000 (13:05 +0100)]
gfio: use current value of graph limit as the default

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: encapsulate x- and y-offsets into graph library
Stephen M. Cameron [Sun, 11 Mar 2012 10:36:51 +0000 (11:36 +0100)]
gfio: encapsulate x- and y-offsets into graph library

Don't need to carry around drawing area dimensions alongside
the graphs, the size and xy-offsets of the graphs can be set
directly in the drawing area configure callback.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add comments to interface of graph mini library
Stephen M. Cameron [Sun, 11 Mar 2012 10:36:14 +0000 (11:36 +0100)]
gfio: add comments to interface of graph mini library

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: use graph axis unit change notification callbacks
Stephen M. Cameron [Sun, 11 Mar 2012 10:35:50 +0000 (11:35 +0100)]
gfio: use graph axis unit change notification callbacks

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add graph axis unit change notification callbacks
Stephen M. Cameron [Sun, 11 Mar 2012 10:35:10 +0000 (11:35 +0100)]
gfio: add graph axis unit change notification callbacks

This enables code that uses the graph functions to change the axis
titles on the fly to display unit information which matches how the
tick labels are shortened.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix discrepancies between graph header and implementation
Stephen M. Cameron [Sun, 11 Mar 2012 10:34:38 +0000 (11:34 +0100)]
gfio: fix discrepancies between graph header and implementation

Header defined a couple functions as returning void, but they really return int.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: do not mix K M and G when shortening axis labels
Stephen M. Cameron [Sun, 11 Mar 2012 10:33:46 +0000 (11:33 +0100)]
gfio: do not mix K M and G when shortening axis labels

That is, do not scale axis labels by differing amounts
like 900K, 1M, 1100K, instead: 900k, 1000k, 1100k.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: move debug preferences last
Jens Axboe [Fri, 9 Mar 2012 19:23:05 +0000 (20:23 +0100)]
gfio: move debug preferences last

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add eta msec interval preference
Jens Axboe [Fri, 9 Mar 2012 19:20:17 +0000 (20:20 +0100)]
gfio: add eta msec interval preference

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient: make ETA interval poll period configurage in fio_client_ops
Jens Axboe [Fri, 9 Mar 2012 19:10:51 +0000 (20:10 +0100)]
client: make ETA interval poll period configurage in fio_client_ops

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add preference entry for number of values to keep in graph
Jens Axboe [Fri, 9 Mar 2012 18:28:27 +0000 (19:28 +0100)]
gfio: add preference entry for number of values to keep in graph

It's not really seconds, but pretty close since ETA interval is
close to that now. Will make it really seconds later.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoMark buffer_compress_chunk as child of buffer_compress_percentage
Jens Axboe [Fri, 9 Mar 2012 18:11:25 +0000 (19:11 +0100)]
Mark buffer_compress_chunk as child of buffer_compress_percentage

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd buffer_compress_chunk option
Jens Axboe [Fri, 9 Mar 2012 18:06:24 +0000 (19:06 +0100)]
Add buffer_compress_chunk option

Instead of doing bs/2 of incompressible and zeroed data for a 50%
compression setting, use the smaller chunk size specified by
this option.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoHonor refill_buffers even for verifies
Jens Axboe [Fri, 9 Mar 2012 18:02:01 +0000 (19:02 +0100)]
Honor refill_buffers even for verifies

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoCompression buffer fill fix
Jens Axboe [Fri, 9 Mar 2012 18:00:31 +0000 (19:00 +0100)]
Compression buffer fill fix

We need to advance after the zero fill as well.

Reported-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient: send probe from fio_client_connect()
Jens Axboe [Fri, 9 Mar 2012 16:45:43 +0000 (17:45 +0100)]
client: send probe from fio_client_connect()

We only do it from fio_clients_connect() now, better move it
into the lower per-client handler. This gets probes working
with gfio again.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: better handle multiple threads/processes in a job
Jens Axboe [Fri, 9 Mar 2012 16:39:05 +0000 (17:39 +0100)]
gfio: better handle multiple threads/processes in a job

Make the name entry a combo, before we were just overwriting
so it would contain the last entry noted.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: make results notebook scrollable too
Jens Axboe [Fri, 9 Mar 2012 16:24:07 +0000 (17:24 +0100)]
gfio: make results notebook scrollable too

And also adds menus to both results and job notebook.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: make notebooks scrollable if there are too many
Jens Axboe [Fri, 9 Mar 2012 16:22:01 +0000 (17:22 +0100)]
gfio: make notebooks scrollable if there are too many

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: hold a reference to the fio_client structure
Jens Axboe [Fri, 9 Mar 2012 16:16:51 +0000 (17:16 +0100)]
gfio: hold a reference to the fio_client structure

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: more error reporting
Jens Axboe [Fri, 9 Mar 2012 16:11:04 +0000 (17:11 +0100)]
gfio: more error reporting

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: return real error from fio_send_data()
Jens Axboe [Fri, 9 Mar 2012 16:10:54 +0000 (17:10 +0100)]
server: return real error from fio_send_data()

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient: return more errors
Jens Axboe [Fri, 9 Mar 2012 16:09:55 +0000 (17:09 +0100)]
client: return more errors

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient: return errno on connection failure
Jens Axboe [Fri, 9 Mar 2012 16:00:01 +0000 (17:00 +0100)]
client: return errno on connection failure

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: handle clients individually
Jens Axboe [Fri, 9 Mar 2012 14:14:06 +0000 (15:14 +0100)]
gfio: handle clients individually

Now we have per-client support, don't use any of the "do FOO for
all clients" functions.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: only start one client net handler
Jens Axboe [Fri, 9 Mar 2012 13:59:42 +0000 (14:59 +0100)]
gfio: only start one client net handler

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: start of support for notebooked jobs
Jens Axboe [Fri, 9 Mar 2012 13:37:29 +0000 (14:37 +0100)]
gfio: start of support for notebooked jobs

We split struct gui into a main window and per-client part,
having a separate style of layout for each.

This needs a lot of work still, but it gets the point across.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: ignore group stats for now
Jens Axboe [Fri, 9 Mar 2012 07:53:28 +0000 (08:53 +0100)]
gfio: ignore group stats for now

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd basic cconv test
Jens Axboe [Thu, 8 Mar 2012 20:34:18 +0000 (21:34 +0100)]
Add basic cconv test

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoSeparate the act of adding and starting a job
Jens Axboe [Thu, 8 Mar 2012 19:36:28 +0000 (20:36 +0100)]
Separate the act of adding and starting a job

CMD_JOB or CMD_JOB_LINE only adds the necessary jobs, which will
automatically return the job option info to the client. Let the
client do what it wants with the options, then have the client
send a CMD_RUN command to actually start the jobs.

Next we'll have a command for passing back edited options, so that
the client can update existing options.

This adds a new button to gfio, to note this split of add and run
as well.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoexample: bump netio example to 100g transfer
Jens Axboe [Thu, 8 Mar 2012 19:35:56 +0000 (20:35 +0100)]
example: bump netio example to 100g transfer

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: rename CMD_RUN to CMD_SERVER_START
Jens Axboe [Thu, 8 Mar 2012 18:59:16 +0000 (19:59 +0100)]
server: rename CMD_RUN to CMD_SERVER_START

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient/server: pass back packed thread_options in add_job()
Jens Axboe [Thu, 8 Mar 2012 18:45:37 +0000 (19:45 +0100)]
client/server: pass back packed thread_options in add_job()

Now the client can see the parsed options. As it turns out,
we need to parse locally since the client and server can be
vastly different operating systems and architectures. Pass
back the options, allowing the client to change them before
starting the job.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: Add y-axis labels
Stephen M. Cameron [Thu, 8 Mar 2012 16:00:10 +0000 (17:00 +0100)]
gfio: Add y-axis labels

"Kbytes /sec" for bandwidth, and "IOs / sec" for IOPS.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: move graph area a bit to the right
Stephen M. Cameron [Thu, 8 Mar 2012 15:58:50 +0000 (16:58 +0100)]
gfio: move graph area a bit to the right

To make more room for y-axis title text.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix a bug in the y-axis label shortening algorithm
Stephen M. Cameron [Thu, 8 Mar 2012 15:57:29 +0000 (16:57 +0100)]
gfio: fix a bug in the y-axis label shortening algorithm

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd thread_options_pack structure
Jens Axboe [Thu, 8 Mar 2012 13:52:25 +0000 (14:52 +0100)]
Add thread_options_pack structure

First step towards having an on-disk and on-wire independent
options structure, with the goal being that we parse options
locally (hence allowing them to be edited sanely) and send them
to the server in one nice package.

Additionally, this is a step towards being able to have a new
fio/gfio "project" file format, which includes all the info a
given client needs. This includes job options, where to connect,
etc.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAbstract out the thread_options structure
Jens Axboe [Thu, 8 Mar 2012 11:37:31 +0000 (12:37 +0100)]
Abstract out the thread_options structure

We need to prepare to have an on-disk/net version of the same.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient/server: store/convert/send jobs_eta->nr_threads too
Jens Axboe [Thu, 8 Mar 2012 11:30:48 +0000 (12:30 +0100)]
client/server: store/convert/send jobs_eta->nr_threads too

We still need to handle jobs_eta->run_str[] as well...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: improve stop handling
Jens Axboe [Thu, 8 Mar 2012 09:51:36 +0000 (10:51 +0100)]
gfio: improve stop handling

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: make the end results window a scrolled one
Jens Axboe [Wed, 7 Mar 2012 19:31:28 +0000 (20:31 +0100)]
gfio: make the end results window a scrolled one

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: don't use gtk_dialog_get_content_area()
Jens Axboe [Wed, 7 Mar 2012 19:00:02 +0000 (20:00 +0100)]
gfio: don't use gtk_dialog_get_content_area()

It's not available in gtk 2.10, which we'd like to work with.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add missing disk utilization stat to end results
Jens Axboe [Wed, 7 Mar 2012 18:51:36 +0000 (19:51 +0100)]
gfio: add missing disk utilization stat to end results

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: allow graph to stretch or shrink as window expands or contracts
Stephen M. Cameron [Wed, 7 Mar 2012 18:40:58 +0000 (19:40 +0100)]
gfio: allow graph to stretch or shrink as window expands or contracts

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: right justify y-axis labels
Stephen M. Cameron [Wed, 7 Mar 2012 18:39:55 +0000 (19:39 +0100)]
gfio: right justify y-axis labels

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: fix problem with graph finding data range.
Stephen M. Cameron [Wed, 7 Mar 2012 18:37:57 +0000 (19:37 +0100)]
gfio: fix problem with graph finding data range.

In finding minimum value, it used zero as an initializer
but if the graph had no data below say, 1000, it would still
find zero as the minimum, which was incorrect.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: get rid of invisible data
Stephen M. Cameron [Wed, 7 Mar 2012 18:37:25 +0000 (19:37 +0100)]
gfio: get rid of invisible data

At first the invisible data seemed like an elegant way to get
reasonable graph ticks when no data was really present, but it
proved to be an ugly hack that caused other problems later,e.g.
when you want to cap other data so the xy graph scrolls, the
invisible data kept it from scrolling, etc.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: shorten graph tick lables so x000000000 becomes
Stephen M. Cameron [Wed, 7 Mar 2012 18:36:18 +0000 (19:36 +0100)]
gfio: shorten graph tick lables so x000000000 becomes

xG, x000000 becomes xM, and x000 becomes xK

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: cap graph data count
Stephen M. Cameron [Wed, 7 Mar 2012 18:34:19 +0000 (19:34 +0100)]
gfio: cap graph data count

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: change color of graphs
Jens Axboe [Wed, 7 Mar 2012 15:22:50 +0000 (16:22 +0100)]
gfio: change color of graphs

Green for reads, and red for writes. Seems to be what people
use mostly, so lets make it less confusing. Will also want
a title for that.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: remove a few debug printfs
Jens Axboe [Wed, 7 Mar 2012 15:16:50 +0000 (16:16 +0100)]
gfio: remove a few debug printfs

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: remove boxes between graphs
Jens Axboe [Wed, 7 Mar 2012 14:21:16 +0000 (15:21 +0100)]
gfio: remove boxes between graphs

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add units to x-axis labels and remove redundant y-axis labels
Stephen M. Cameron [Wed, 7 Mar 2012 13:49:37 +0000 (14:49 +0100)]
gfio: add units to x-axis labels and remove redundant y-axis labels

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: make empty graph show grid lines, not "No good data"
Stephen M. Cameron [Wed, 7 Mar 2012 13:47:38 +0000 (14:47 +0100)]
gfio: make empty graph show grid lines, not "No good data"

This is done by adding a bit of "invisible data" to the graph
at the beginning.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: make graph background white
Stephen M. Cameron [Wed, 7 Mar 2012 13:47:03 +0000 (14:47 +0100)]
gfio: make graph background white

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add license
Jens Axboe [Wed, 7 Mar 2012 13:24:57 +0000 (14:24 +0100)]
gfio: add license

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: update about dialog
Jens Axboe [Wed, 7 Mar 2012 13:18:28 +0000 (14:18 +0100)]
gfio: update about dialog

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add font selection and resize original window
Jens Axboe [Wed, 7 Mar 2012 12:14:32 +0000 (13:14 +0100)]
gfio: add font selection and resize original window

Font doesn't quite work yet, since we still setup the graphs
before anything is loaded. Will fix that later.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: use unsigned ints
Jens Axboe [Wed, 7 Mar 2012 11:31:40 +0000 (12:31 +0100)]
graph: use unsigned ints

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: be a bit more clever on when to auto-start backend or not
Jens Axboe [Wed, 7 Mar 2012 10:45:07 +0000 (11:45 +0100)]
gfio: be a bit more clever on when to auto-start backend or not

If we are connecting remotely, don't show the option.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoparser: relax restriction on postfix ranges
Jens Axboe [Wed, 7 Mar 2012 09:53:29 +0000 (10:53 +0100)]
parser: relax restriction on postfix ranges

Currently we misparse this option:

bs=1k,4k

as read_bs=1, and write_bs=4096, since we compare the postfix
strictly against "k,4k". Use range compares instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoFix batch mismatch for verifies
Jens Axboe [Wed, 7 Mar 2012 08:32:58 +0000 (09:32 +0100)]
Fix batch mismatch for verifies

If we set verify_backlog=32, we expect 32 writes followed by 32
reads that verify the written data. But if we fail getting a
verify io_u, then we may decrement the batch counter when we should
not. The result is that we write 32, read 32, write 1, read 1, repeat.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoAdd regression test for f7078f7b
Jens Axboe [Wed, 7 Mar 2012 08:26:13 +0000 (09:26 +0100)]
Add regression test for f7078f7b

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoFix bug that causes early termination of fio with verify_backlog
Jens Axboe [Wed, 7 Mar 2012 08:24:05 +0000 (09:24 +0100)]
Fix bug that causes early termination of fio with verify_backlog

Running this job:

[global]
bs=4k
ioengine=sync
size=100m
direct=1
filename=xxx

[write]
verify=md5
verify_backlog=32
rw=write

causes fio to exit when reads + writes have exceeded 100m, where
it should only exit when writes have exceeded 100m. Fix this by
checking the appropriate counters based on what type of job it is.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: add *.ini as fio job file filter
Jens Axboe [Wed, 7 Mar 2012 07:19:30 +0000 (08:19 +0100)]
gfio: add *.ini as fio job file filter

Lots of people seem to name their job files that, so
lets add the filter.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: Add graphs for read/write bandwidth and read/write IOPS
Jens Axboe [Wed, 7 Mar 2012 07:07:39 +0000 (08:07 +0100)]
gfio: Add graphs for read/write bandwidth and read/write IOPS

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: Add mini library to draw bar graphs and line graphs
Stephen M. Cameron [Wed, 7 Mar 2012 06:56:16 +0000 (07:56 +0100)]
gfio: Add mini library to draw bar graphs and line graphs

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: clear progress bar on job end
Jens Axboe [Tue, 6 Mar 2012 19:47:15 +0000 (20:47 +0100)]
gfio: clear progress bar on job end

And detach fio server thread.

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