Bruce Cran [Fri, 22 Jan 2016 17:54:47 +0000 (10:54 -0700)]
Fix Windows build: define rand_r()
Jens Axboe [Fri, 22 Jan 2016 22:10:31 +0000 (15:10 -0700)]
Makefile: fix duplicate strcasestr for windows
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 22 Jan 2016 18:49:57 +0000 (11:49 -0700)]
server: use the wrapped MSG_DONTWAIT
Signed-off-by: Jens Axboe <axboe@fb.com>
David Disseldorp [Thu, 21 Jan 2016 16:45:44 +0000 (17:45 +0100)]
ioengine: remove duplicate queue handler check
Signed-off-by: David Disseldorp <ddiss@suse.de>
Jens Axboe [Thu, 21 Jan 2016 05:00:17 +0000 (22:00 -0700)]
Fio 2.5
2.4 was short lived, 2.5 fixes an important regression that
happened between fio-2.2.12 and fio-2.2.13.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 21 Jan 2016 04:52:47 +0000 (21:52 -0700)]
mutex: fix double unlock in fio_mutex_down_timeout()
In case of error, we unlock twice.
Fixes:
09400a60042e ("mutex: fixup fio_mutex_down_timeout()")
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 21 Jan 2016 04:17:55 +0000 (21:17 -0700)]
init: fix compile for FIO_INC_DEBUG not being set
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 21 Jan 2016 04:13:08 +0000 (21:13 -0700)]
Fio 2.4
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 21 Jan 2016 00:45:13 +0000 (17:45 -0700)]
init: increment stat count if parent == default thread
We skip doing the stat increment if group_reporting is set,
but that means we can end up with stat_number == 0. That
isn't correct, increment for group_reporting as well, but
only if the parent is the default thread. That means we
still won't do it for sub-jobs.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 20 Jan 2016 19:17:54 +0000 (12:17 -0700)]
client: fix non-text command leak
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 20 Jan 2016 18:22:22 +0000 (11:22 -0700)]
client: drain text output when exiting
If we don't, we can lose error messages from the server side. One
example would be for protocol version mismatch - the server will
notify the client, but the client doesn't check for these messages
before exiting.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 14 Jan 2016 21:44:23 +0000 (14:44 -0700)]
Fix issue with termination before io_size has been reached
If the size of the device isn't a multiple of the block size,
then we can exit prematurely for cases where an io_limit has
been set higher than the device size. This is because the file(s)
get marked completely done if bs is a multiple of the device size,
but doesn't for the opposite case.
We should not factor this in for deciding to keep running or not.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 14 Jan 2016 17:31:38 +0000 (10:31 -0700)]
io_u: ensure that we align new start offset properly for time_based
If io_size isn't a multiple of the block size, weird things can
happen, which usually means that fio will exit with an unaligned
IO error:
fio: io_u error on file /dev/nvme0n1: Invalid argument: write offset=125830, buflen=
1048576
where offset=125830 really should have been aligned to the block
size. Ensure that we do that.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 13 Jan 2016 20:17:39 +0000 (13:17 -0700)]
t/verify-state: one more printf type fix
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 13 Jan 2016 20:17:00 +0000 (13:17 -0700)]
t/verify-state: fix type for printf
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 13 Jan 2016 16:40:51 +0000 (09:40 -0700)]
Destroy sk_out server key when we are done
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 13 Jan 2016 16:34:46 +0000 (09:34 -0700)]
Always create server sk_out key
We use it from helper threads, so let's just unconditionally
set it up. This fixes a problem on fio exit with libraries or
engines that also create pthread keys.
Reported-by: Jens Rosenboom <j.rosenboom@x-ion.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 12 Jan 2016 17:18:50 +0000 (10:18 -0700)]
options: fix bs_cmp()
Return the int difference between the two, not a bool.
Reported-by: Yury Gribov <>
Signed-off-by: Jens Axboe <axboe@fb.com>
Andreas Piesk [Fri, 8 Jan 2016 13:29:12 +0000 (14:29 +0100)]
use option smalloc_pool_size
Jens Axboe [Thu, 7 Jan 2016 22:06:22 +0000 (15:06 -0700)]
t/verify-state: add helper to inspect verify dump state files
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 7 Jan 2016 22:01:09 +0000 (15:01 -0700)]
Merge branch 'master' of git://github.com/ezrapedersen/fio
Jens Axboe [Thu, 7 Jan 2016 21:26:57 +0000 (14:26 -0700)]
verify-state: forward declare io_u
Signed-off-by: Jens Axboe <axboe@fb.com>
root [Thu, 7 Jan 2016 21:25:10 +0000 (21:25 +0000)]
Disable libaio for ESXi build - bug#80
Jens Axboe [Thu, 7 Jan 2016 21:22:09 +0000 (14:22 -0700)]
verify: split out state header code
We'll need to use it in a separate helper utility, and we don't
need all the verify code for this.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 7 Jan 2016 18:19:28 +0000 (11:19 -0700)]
server: sk_out exit error handling
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 7 Jan 2016 18:18:22 +0000 (11:18 -0700)]
configure: lex force off
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 7 Jan 2016 18:07:51 +0000 (11:07 -0700)]
server: include name of verify file requested for error message
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 30 Dec 2015 16:27:05 +0000 (09:27 -0700)]
options: move pattern_fmt_desc where we need it
No need for that to be global.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 30 Dec 2015 16:23:13 +0000 (09:23 -0700)]
options: we don't need the crc32c verify include
We used to test for the availability of the hw accellerated code,
but that happens elsewhere now.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 30 Dec 2015 16:03:55 +0000 (09:03 -0700)]
options: split out option grouping code
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 30 Dec 2015 15:55:19 +0000 (08:55 -0700)]
options: make the groups/categories constant
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 30 Dec 2015 03:58:13 +0000 (20:58 -0700)]
configure: add --enable-lex
For AIX, default to lex being off. It can be enabled with
--enable-lex. For other platforms, rely on the regular
configure check to check enable/disable.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 29 Dec 2015 19:23:17 +0000 (12:23 -0700)]
configure: check if lex requires/fails with -o for output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 29 Dec 2015 15:30:33 +0000 (08:30 -0700)]
t/dedupe: silence bogus warning on 'bytes' being used uninitialized
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 29 Dec 2015 00:39:22 +0000 (17:39 -0700)]
t/genzipf: fix for strcasestr missing
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 29 Dec 2015 00:14:46 +0000 (17:14 -0700)]
Fix included getopt locations
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 28 Dec 2015 23:45:49 +0000 (16:45 -0700)]
lib/pattern: include oslib/strcasestr.h
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 28 Dec 2015 23:16:06 +0000 (16:16 -0700)]
client: rename send_file() to fio_send_file()
AIX apparently has a symbol clash.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 23 Dec 2015 16:39:04 +0000 (09:39 -0700)]
Fio 2.3
Let's switch to a simpler numbering scheme. 2.3 follows 2.2.13, so
it should have been 2.2.14. But from now on, let's just use a simpler
MAJOR.MINOR release numbering scheme.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 23 Dec 2015 16:10:05 +0000 (09:10 -0700)]
gfio: use ffz64 for 64-bit types
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 23 Dec 2015 16:09:23 +0000 (09:09 -0700)]
arch: add ffs64 and ffz64
These just use the normal C software version, extended to 64-bit
even on 32-bit archs. The fast variant is still machine word native.
Signed-off-by: Jens Axboe <axboe@fb.com>
shoichi.sawada@toshiba.co.jp [Tue, 22 Dec 2015 08:16:24 +0000 (08:16 +0000)]
Fix runtime of terse output
Hi,
When I used fio with option of '--status-interval=1 --minimal' and 'random_distribution=zipf:1.2',
'runtime' of 2nd line was
18446744073709551345.
This value is -271 in int_64.
This is because 'runtime' was subtracted in function '__show_running_run_stats'.
If 'td->io_bytes' is 0 when this function was called,
and 'td->io_bytes' is not 0 when '__show_run_stats' returned,
'runtime' is subtracted by 'rt' even though 'runtime' have not added.
I fixed the problem by applying this patch to fio-2.2.13.
Regards
Shoichi
----
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 22 Dec 2015 20:40:14 +0000 (13:40 -0700)]
backend: continue on failed wait_for() check, not break
If we have this job file:
[a]
[b]
wait_for=a
[c]
wait_for=a
[d]
then we expect a/d to run together, then b/c after a is done. However,
right now we break out of the job loop, so it acts like a stonewall.
That means that a will run first, then b/c/d. That isn't correct.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 22 Dec 2015 18:11:14 +0000 (11:11 -0700)]
gfio: update for 64-bit option category/group
Signed-off-by: Jens Axboe <axboe@fb.com>
Andrey Kuzmin [Tue, 22 Dec 2015 16:21:25 +0000 (09:21 -0700)]
Add support for waiting for other jobs by name
We have stonewall to barrier against previous jobs before a new
job runs. This adds support for 'wait_for', which allows the
user to explicitly wait for a given job before starting.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 22 Dec 2015 16:04:27 +0000 (09:04 -0700)]
parse: ensure that option group/category hold 64-bit
options.c:3459:12: warning: large integer implicitly truncated to unsigned type [-Woverflow]
.group = FIO_OPT_G_INVALID,
Signed-off-by: Jens Axboe <axboe@fb.com>
Fabrice Bacchella [Tue, 22 Dec 2015 11:26:51 +0000 (12:26 +0100)]
rewrote libhdfs engine
Jens Axboe [Mon, 21 Dec 2015 23:03:01 +0000 (16:03 -0700)]
Make options mask a 64-bit type
We're running out of bit numbers, double it up.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 21 Dec 2015 17:01:40 +0000 (10:01 -0700)]
backend: only terminate multiple loops if we did no IO
Commit
095196b1e76b introduced a stop point if do_io() returned
nothing, but that only counts writes and trims. Change that to
count all types of IO.
Fixes:
095196b1e76b ("backend: terminate loop if we didn't do IO")
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 19 Dec 2015 05:33:35 +0000 (22:33 -0700)]
backend: count iterative bytes for progress
Commit
ac28d9053679 changed it so we don't clear ->bytes_done[]
necessarily for each loop. However, this introduced a busy loop
where we this we did IO and continue to loop, but we really
didn't.
Fixes:
ac28d9053679 ("Fixup bw/iops logging for short runs")
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 18 Dec 2015 17:36:57 +0000 (10:36 -0700)]
server: command tag cleanup
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 18 Dec 2015 16:17:41 +0000 (09:17 -0700)]
server: don't store command tag on the stack
It'll go out-of-scope, making the server unhappy.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 18 Dec 2015 15:57:24 +0000 (08:57 -0700)]
client: iolog cleanups
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 22:23:48 +0000 (15:23 -0700)]
server: code cleanups
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 21:59:49 +0000 (14:59 -0700)]
server: remove leftover debug statement
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 21:55:16 +0000 (14:55 -0700)]
configure: fix zlib typo
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 21:54:15 +0000 (14:54 -0700)]
client/server: transparent handling of storing compressed logs
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 21:53:45 +0000 (14:53 -0700)]
Fix compile warning for !zlib
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 17:24:03 +0000 (10:24 -0700)]
client/server: various bug fixes
- Better handling of vectored commands
- Improve sk_out mutex handling (don't alloc separately)
- Add support for sync sending of network data
- Prep for network xmit of logs
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 17 Dec 2015 15:32:15 +0000 (08:32 -0700)]
Ensure that command line options also end up in json output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 22:05:54 +0000 (15:05 -0700)]
gclient: don't free pdu on iolog return
The command is freed separately, don't free it twice.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 22:05:22 +0000 (15:05 -0700)]
client: fix double free of command on timeout
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 15:59:38 +0000 (08:59 -0700)]
verify: dump failed header, if verification fails
And verify_dump=1 is enabled.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 15:32:30 +0000 (08:32 -0700)]
parse: fix segfault if posval option doesn't have a value
If the user did
continue_on_error
in the job file without setting one of the possible values
for that option, we'd crash in string compare. Now fio will
exit in error, showing the valid options instead.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 04:02:51 +0000 (21:02 -0700)]
client/server: ensure we don't overrun memory for long option values
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 03:47:14 +0000 (20:47 -0700)]
client: fix segfault for !json output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Dec 2015 03:33:29 +0000 (20:33 -0700)]
client/server: pass back job options to client
Also fill in a few more missing pieces from the server based
json output, like time stamp.
Now the json output should match the local, on all accounts.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 15 Dec 2015 20:48:32 +0000 (13:48 -0700)]
client: cleanup json output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 15 Dec 2015 17:38:05 +0000 (10:38 -0700)]
stat: work around 'numjobs' oddity in dumping job output
Inherit options between duped jobs, and don't include 'numjobs' in the
global option output.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 15 Dec 2015 17:30:57 +0000 (10:30 -0700)]
First stab at adding job options to json output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 15 Dec 2015 16:53:22 +0000 (09:53 -0700)]
Rework 'dump_cmdline'
Store the options in &td->opt_list. Should be no change for
dump_cmdline, but it will prepare us for being able to jump
the job definition as part of the json output.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 15 Dec 2015 15:42:13 +0000 (08:42 -0700)]
Merge branch 'server'
Jens Axboe [Tue, 15 Dec 2015 02:26:18 +0000 (19:26 -0700)]
server: bump listen() backlog
With the default if 0, we trigger a lot of these:
[29055.817884] TCP: request_sock_TCP: Possible SYN flooding on port 8765. Sending cookies. Check SNMP counters.
Set it to 4, even 2 seems to be enough to get rid of it.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 15 Dec 2015 01:51:22 +0000 (18:51 -0700)]
client: make SEND_ETA timeout non-fatal
If we fail a single ETA, then just soldier on. If we fail 5 in a row,
then give up permanently.
Also bring the command timeout back to 5s per command.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Dec 2015 21:53:35 +0000 (14:53 -0700)]
Fio 2.2.13
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Dec 2015 21:46:32 +0000 (14:46 -0700)]
server: create sk_out_key earlier
The previous code worked on Linux, since we seem to get '0' as
the key always. It segfaults on other platforms, since we
call pthread_getspecific() before the key has been created.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Dec 2015 21:26:07 +0000 (14:26 -0700)]
server: don't pass sk_out into accept loop
Previous commit killed the use of it, just define it locally
in accept_loop().
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Dec 2015 20:31:34 +0000 (13:31 -0700)]
server: cleanup exported functions
Lots of cruft left from previously.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Dec 2015 17:55:24 +0000 (10:55 -0700)]
server: comments, and clear sk_out->sk when we close the 'sk'
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Dec 2015 17:48:29 +0000 (10:48 -0700)]
server: ensure each connection sets up its own sk_out
Otherwise multiple connections will screw each other up. This
makes multiple connections to a single backend work again.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 11 Dec 2015 22:13:41 +0000 (15:13 -0700)]
server: comment sk_entry struct and remove hole
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 11 Dec 2015 20:25:24 +0000 (13:25 -0700)]
Fixup and improve per-thread data
- Get rid of backend_data, just use sk_out
- Add reference counting to sk_out and proper assign/drop helpers
- Ensure we pass it to other threads created
- Fix leaks of sk_out
This should get us closer to the new model actually working as
intended.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 11 Dec 2015 00:46:05 +0000 (17:46 -0700)]
server: cleanup and proper error returns
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 10 Dec 2015 23:07:32 +0000 (16:07 -0700)]
server: make the io log transmit use the new infrastructure
Add support for vectored commands, and pass them on the backend
pipe as well.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 10 Dec 2015 22:32:15 +0000 (15:32 -0700)]
server: rewrite message handling
Currently we don't do any synchronization when we send out
network messages, this can cause a variety of issues. Instead
of adding serialization for transmits, let the messages queue
up in the network backend, and let the backend send them out.
Work in progress, not everything has been tested with this.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 10 Dec 2015 22:31:02 +0000 (15:31 -0700)]
log: remove log_local_buf()
Have the server return -1 if it can't log, then we can handle
it internally.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 10 Dec 2015 21:26:44 +0000 (14:26 -0700)]
Add backend related data
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 10 Dec 2015 21:22:43 +0000 (14:22 -0700)]
mutex: fixup fio_mutex_down_timeout()
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 10 Dec 2015 18:15:52 +0000 (11:15 -0700)]
Add exitall_on_error option
Like exitall, but only if a job exits due to erroring out.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 19:44:09 +0000 (12:44 -0700)]
eta: use bool for forcing jobs_eta return
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 19:40:52 +0000 (12:40 -0700)]
server: ensure we send the right sized jobs_eta when faking it
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 19:37:05 +0000 (12:37 -0700)]
server: always end back ETA reply
Otherwise the client will time out waiting for a response. If we don't
have a local jobs_eta, then just send a zero filled one.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 18:23:15 +0000 (11:23 -0700)]
thread_options: kill converted cpu masks
We can't currently convert them in cconv.c, so let's just disable
them as they eat a lot of space in the thread options.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 16:16:13 +0000 (09:16 -0700)]
iolog: don't copy log samples for compression
For larger settings of log_compression, the allocation and copying of
the log will adversely affect performance and logged latencies. Instead
just reference the log in the compression code, while resetting the
current log to a smaller size. We pay a slightly higher cost in memory
until compression has completd, but it saves us from allocating and
copying tens (or hundreds) of megabytes inline.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 16:08:10 +0000 (09:08 -0700)]
eta: fix comparison reversal for time based jobs
If time_based=1 and runtime=x, then we know the job will take x
time to run. Fix a bug introduced in a previous commit.
Fixes: ("Fix ETA calculations")
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 15:37:50 +0000 (08:37 -0700)]
Fix ramp time for io_submit_mode=offload
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Dec 2015 15:28:00 +0000 (08:28 -0700)]
backend: terminate loop if we didn't do IO
The below commit modified how we clear stats, and that can sometimes
cause fio to hang around when ramp + runtime has been exceeded. The
below job file showed the issue:
[test-job]
bs=4k
rw=read
direct=1
runtime=6s
ramp_time=5s
ioengine=null
iodepth=32
size=100g
Where it would do the ramp time, then count down the 6s of runtime, then
fio would just sit there busy looping.
Fixes:
ac28d9053679 ("Fixup bw/iops logging for short runs")
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Dec 2015 22:45:12 +0000 (15:45 -0700)]
options: add log_compression_cpus option
We generally don't want online log compression to interfere with the
IO jobs. Add an option that allows us to contain the log compression
to a specific CPU, or set of CPUs.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Dec 2015 22:31:22 +0000 (15:31 -0700)]
options: check for dryrun in cpu mask setting
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Dec 2015 22:20:54 +0000 (15:20 -0700)]
iolog: cleanup up data unref'ing
Signed-off-by: Jens Axboe <axboe@fb.com>