fio.git
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 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>
8 years agogfio: patch around widget destroy crash
Jens Axboe [Wed, 14 Mar 2012 18:39:02 +0000 (19:39 +0100)]
gfio: patch around widget destroy crash

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: memset job_add pdu before filling and sending
Jens Axboe [Wed, 14 Mar 2012 15:35:37 +0000 (16:35 +0100)]
server: memset job_add pdu before filling and sending

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoserver: convert iolog in place instead of copy allocating it
Jens Axboe [Wed, 14 Mar 2012 15:28:07 +0000 (16:28 +0100)]
server: convert iolog in place instead of copy allocating it

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: Add support for sending logs over the network
Jens Axboe [Wed, 14 Mar 2012 14:03:03 +0000 (15:03 +0100)]
gfio: Add support for sending logs over the network

This is for things like bw log, latency logs, etc. We add
a new depedency, zlib, for this. The logs can be quite big and
the network is not necessarily super fast, so we compress them
using zlib.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoiolog: note type of log
Jens Axboe [Wed, 14 Mar 2012 10:39:13 +0000 (11:39 +0100)]
iolog: note type of log

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient/server: pass type of client to the backend
Jens Axboe [Wed, 14 Mar 2012 10:31:21 +0000 (11:31 +0100)]
client/server: pass type of client to the backend

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agoclient: unify cmd handling ops
Jens Axboe [Wed, 14 Mar 2012 09:56:40 +0000 (10:56 +0100)]
client: unify cmd handling ops

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agograph: move graphs a bit to the left, now we don't use Y axis labels
Jens Axboe [Wed, 14 Mar 2012 09:43:20 +0000 (10:43 +0100)]
graph: move graphs a bit to the left, now we don't use Y axis labels

Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 years agogfio: terminate and destroy clients before calling gtk_main_quit()
Jens Axboe [Wed, 14 Mar 2012 09:34:48 +0000 (10:34 +0100)]
gfio: terminate and destroy clients before calling gtk_main_quit()

Signed-off-by: Jens Axboe <axboe@kernel.dk>
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>