peter chang [Wed, 24 Apr 2013 22:32:25 +0000 (16:32 -0600)]
fix memory allocation in the cases we may need to align
when using the sg backend we crash w/ a SEGV in fio_sgio_getevents()
because of memory corruption from the IO. when we allocate the td's
backing store there's a possible post-allocation adjustment to page
align the buffers. however, the extra memory that this alignment may
need is not taken into account when allocating the buffer.
Tested:
- the problematic fio file looks like
fdha347:~# cat foo.fio
[global]
bs=64k
thread
rw=read
size=100g
time_based=1
runtime=60
iodepth=1
[sdc]
ioengine=sg
filename=/dev/sg2
numjobs=1
Signed-off-by: peter chang <dpf@google.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Bruce Cran [Tue, 23 Apr 2013 14:42:40 +0000 (08:42 -0600)]
Really suppress ICE61 when building the Windows installer.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Bruce Cran [Tue, 23 Apr 2013 14:27:23 +0000 (15:27 +0100)]
Fix Windows build warnings.
winsock2.h needs to be included before windows.h.
Separate declarations and code.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 18 Apr 2013 12:22:37 +0000 (05:22 -0700)]
gerror: mixed code/data section
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:54:53 +0000 (10:54 -0700)]
Add -Wdeclaration-after-statement to compiler flags
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:53:52 +0000 (10:53 -0700)]
Get rid of mixed code/data sections
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:33:41 +0000 (19:33 +0200)]
ioengine: kill unneeded thread_data forward declaration
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:30:43 +0000 (19:30 +0200)]
Kil unneeded forward declaration
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:29:37 +0000 (19:29 +0200)]
Move unused and other attributes to the compiler section
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:27:46 +0000 (19:27 +0200)]
Split out td error handling code
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:21:14 +0000 (19:21 +0200)]
null: 'td' isn't actually unused, unmark it
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Apr 2013 17:20:28 +0000 (19:20 +0200)]
Propagate io engine error back to 'td', if not already done
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 16 Apr 2013 19:10:46 +0000 (21:10 +0200)]
goptions: fix bad log_err() type
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Bruce Cran [Mon, 15 Apr 2013 12:39:58 +0000 (14:39 +0200)]
Update the examples filenames in the Windows installer.
The examples now have a ".fio" suffix - update the Windows installer.
Also, allow same version upgrades to avoid installing over the top of
an existing installation.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Mon, 15 Apr 2013 09:40:57 +0000 (11:40 +0200)]
Fixup bad logging types
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Mon, 15 Apr 2013 09:40:30 +0000 (11:40 +0200)]
log: add printf() attribute to log_*() functions
Similarly to how it's done for dprint(), so we can catch
format errors.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Dmitry Monakhov [Mon, 15 Apr 2013 09:23:25 +0000 (11:23 +0200)]
fio: fix segfault on 32bits platforms
Uses wrong type in log_info().
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Mon, 15 Apr 2013 08:21:56 +0000 (10:21 +0200)]
eta: improve output for threads sitting in TD_SETTING_UP
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Otavio Salvador [Mon, 15 Apr 2013 07:36:24 +0000 (09:36 +0200)]
ARM: Use generic assembly nop and barrier code for armv6
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Aaron Carroll [Mon, 15 Apr 2013 06:41:41 +0000 (08:41 +0200)]
README: quick note on how to cross compile
Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Sat, 13 Apr 2013 18:40:53 +0000 (20:40 +0200)]
filesetup: set TD_SETTING_UP runstate when laying out files
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Sat, 13 Apr 2013 18:26:23 +0000 (20:26 +0200)]
Revert change that set group_reporting to 1
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 12 Apr 2013 14:19:03 +0000 (16:19 +0200)]
Fix warning on platforms without disk util support
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 12 Apr 2013 13:40:50 +0000 (15:40 +0200)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Bruce Cran [Fri, 12 Apr 2013 13:40:21 +0000 (15:40 +0200)]
server: include uio.h for writev()
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 12 Apr 2013 12:13:15 +0000 (14:13 +0200)]
gclient: update to new probe command format
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 12 Apr 2013 11:13:24 +0000 (13:13 +0200)]
Make use of zlib optional
Fio uses it to compress io logs between the client and server.
But let them handshake on this requirement when they connect
and probe, and fallback to just sending the logs in plain
format if both of them do not support zlib compression.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 12 Apr 2013 08:17:09 +0000 (10:17 +0200)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Jens Axboe [Fri, 12 Apr 2013 08:16:43 +0000 (10:16 +0200)]
configure: add needed packages hints
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 12 Apr 2013 07:15:42 +0000 (09:15 +0200)]
x86: fixup cpuid for some odd (android) 32-bit variants
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Aaron Carroll [Fri, 12 Apr 2013 07:15:23 +0000 (09:15 +0200)]
android: add byteorder for the swab routines
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Aaron Carroll [Fri, 12 Apr 2013 05:59:01 +0000 (07:59 +0200)]
android: add shm syscalls and fix ioprio definitions
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Aaron Carroll [Fri, 12 Apr 2013 05:55:02 +0000 (07:55 +0200)]
server: fix 32-bit build warning
Cast the 64-bit tag to a 32-bit pointer first, before
casting to the fio_net_cmd_reply pointer.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 16:44:33 +0000 (18:44 +0200)]
Makefile: clean $(FIO_OBJS) too
Otherwise fio.o gets left behind after a clean.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 13:03:58 +0000 (15:03 +0200)]
README: update
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 12:20:33 +0000 (14:20 +0200)]
Fix a few 4.8 extra anal warnings
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 11:48:31 +0000 (13:48 +0200)]
Get rid of cast between enums
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 11:48:13 +0000 (13:48 +0200)]
libaio: fix double setting of option category
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 11:46:37 +0000 (13:46 +0200)]
net: fix double setting of option category
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 11:45:51 +0000 (13:45 +0200)]
client: move jobs_eta to the end of client_eta
It has a variably length field.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:55:16 +0000 (12:55 +0200)]
client/server: pass ->unit_base properly
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:43:05 +0000 (12:43 +0200)]
client/server: pass je->rate[] and je->iops[] over the net
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:31:29 +0000 (12:31 +0200)]
Merge branch 'gfio' into gfio-int
Conflicts:
backend.c
fio.c
fio.h
init.c
libfio.c
options.c
thread_options.h
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:26:55 +0000 (12:26 +0200)]
to_kmg() -> fio_uint_to_kmg()
It's being exported.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:25:17 +0000 (12:25 +0200)]
Move t/jobs/ to .fio format
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:24:36 +0000 (12:24 +0200)]
Make io_sample word size agnostic
Signed-off-by: Jens Axboe <axboe@kernel.dk>
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>
Conflicts:
backend.c
init.c
iolog.h
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:11:34 +0000 (12:11 +0200)]
init: kill unused mlock_size
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:04:38 +0000 (12:04 +0200)]
Make nr_thread/nr_process private to backend
No need export that knowledge. Merge from gfio.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 10:01:48 +0000 (12:01 +0200)]
backend: merge in td->o to o-> thread_main() change
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 09:54:08 +0000 (11:54 +0200)]
Rename job files
gfio uses a .fio or .ini ending.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 09:51:35 +0000 (11:51 +0200)]
Move init code to libfio
More merge from gfio.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Thu, 11 Apr 2013 06:53:24 +0000 (08:53 +0200)]
ioengine: import whitespace changes
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 28 Mar 2012 18:50:15 +0000 (20:50 +0200)]
Make lockmem a per job option
We need to get rid of per job options that fiddle with global
state. It's confusing, and it breaks remote option handling.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Conflicts:
backend.c
fio.h
init.c
options.c
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 20:23:40 +0000 (22:23 +0200)]
Merge in crc32c-intel probe
Then we can kill the option callback.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 20:19:46 +0000 (22:19 +0200)]
Merge in zipf differences from gfio
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 20:16:01 +0000 (22:16 +0200)]
Merge missing content to man page
We missed the two CPU engine private options.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 20:13:30 +0000 (22:13 +0200)]
README: remove partial option list
The HOWTO or man page should be used, since either of those
has the full list of option keywords.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 18:48:31 +0000 (20:48 +0200)]
Move rbtree to lib/
That's where it was moved in gfio, one further step towards unifying
the branches.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 17:50:32 +0000 (19:50 +0200)]
Merge branch 'master' into gfio
Conflicts:
engines/libaio.c
engines/net.c
iolog.h
options.c
options.h
parse.c
parse.h
thread_options.h
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 17:45:30 +0000 (19:45 +0200)]
tiobench: remove duplicate profile group
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 17:43:59 +0000 (19:43 +0200)]
Categorize engine and profile options
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 17:35:25 +0000 (19:35 +0200)]
parse: fix spelling error
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 17:32:20 +0000 (19:32 +0200)]
parse: bring in more stuff from gfio
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 17:30:50 +0000 (19:30 +0200)]
Unify options with gfio
Add the parser features and unify the option table.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 13:01:42 +0000 (15:01 +0200)]
Add thread_options.h
The options are always problematic to merge between the master
repo and gfio. So import this bit from gfio.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 12:41:08 +0000 (14:41 +0200)]
configure: gfio wording
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 11:08:02 +0000 (13:08 +0200)]
Add group/category to numa/mem node options
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 11:07:43 +0000 (13:07 +0200)]
parse: set invalid group on option with no group set
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 11:05:23 +0000 (13:05 +0200)]
parse: catch all options without a group/category set
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 11:01:30 +0000 (13:01 +0200)]
gfio: add option group/category to filename_format
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 09:21:33 +0000 (11:21 +0200)]
parse: don't print min/max option ranges if posval[] is set
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 09:12:21 +0000 (11:12 +0200)]
Merge branch 'master' into gfio
Conflicts:
options.c
parse.c
server.h
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 09:06:59 +0000 (11:06 +0200)]
Convert unit_base to posval[]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 10 Apr 2013 09:06:34 +0000 (11:06 +0200)]
parse: for option with posval, dump allowed values on failure
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 19:05:14 +0000 (21:05 +0200)]
options: make unit_base be posval[] based
We can kill the verifier and ensure we only get the
possible values we need.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 19:02:15 +0000 (21:02 +0200)]
parse: add posval support to FIO_OPT_INT
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 19:02:15 +0000 (21:02 +0200)]
parse: add posval support to FIO_OPT_INT
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 18:49:45 +0000 (20:49 +0200)]
options: make unit_base be posval[] based
We can kill the verifier and ensure we only get the
possible values we need.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 18:49:34 +0000 (20:49 +0200)]
gfio: add support for FIO_OPT_INT options with posval
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 18:38:32 +0000 (20:38 +0200)]
gfio: update new options for gfio opt format
And fix gclient.c updates for num2str().
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 18:30:04 +0000 (20:30 +0200)]
server: bump protocol version
Commit
ad705bcb adds member to protocol structures, bump it.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 18:29:29 +0000 (20:29 +0200)]
server: bump protocol version
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 9 Apr 2013 18:29:16 +0000 (20:29 +0200)]
Merge branch 'master' into gfio
Conflicts:
eta.c
fio.h
init.c
options.c
stat.c
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Steven Noonan [Mon, 8 Apr 2013 22:40:13 +0000 (15:40 -0700)]
stat.c: make 'bw' summary line respect 'unit_base' option
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Steven Noonan [Mon, 8 Apr 2013 22:25:54 +0000 (15:25 -0700)]
stats: show summary bandwidth in terms of kb_base
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Steven Noonan [Mon, 8 Apr 2013 22:05:25 +0000 (15:05 -0700)]
implement 'unit_base' option to select between KB and Kbit et. al.
With network testing, it's often desirable to measure in terms of
kilobits/megabits rather than kilobytes/megabytes. This adds an option named
'unit_base' which can be set to either '1' or '8', where '1' means represent in
terms of bits and '8' means to represent rate in terms of bytes.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Steven Noonan [Fri, 5 Apr 2013 23:57:38 +0000 (16:57 -0700)]
num2str: add arguments to represent values in terms of bytes/bits
This allows for representing I/O rates in terms of e.g. megabits (Mb) versus
megabytes (MB).
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Mon, 8 Apr 2013 07:46:54 +0000 (09:46 +0200)]
Merge branch 'next'
Jens Axboe [Mon, 8 Apr 2013 07:44:38 +0000 (09:44 +0200)]
Fio 2.0.15
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 20:13:42 +0000 (22:13 +0200)]
Makefile: use ginstall on Solaris
Regular install just doesn't seem to like man pages?!
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 20:13:42 +0000 (22:13 +0200)]
Makefile: use ginstall on Solaris
Regular install just doesn't seem to like man pages?!
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 14:32:33 +0000 (16:32 +0200)]
Man page formatting fixups
- Fix extra .B in the filename_format section
- Fix missing .RE for lockfile
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 12:44:51 +0000 (14:44 +0200)]
Use strcasestr() for matching filename_prefix keywords
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 12:44:03 +0000 (14:44 +0200)]
Add strcasestr()
We'll need it for the next commit, if the platform does not
provide it.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 10:55:42 +0000 (12:55 +0200)]
configure: check for zlib
It's required for gfio, even if gfio isn't enabled. The client
and server uses compression for larger messages.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 10:54:03 +0000 (12:54 +0200)]
Fix merge error
Fails link because we attempt to link in fio.o twice.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 10:46:54 +0000 (12:46 +0200)]
Merge branch 'master' into gfio
Conflicts:
Makefile
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Fri, 5 Apr 2013 09:09:20 +0000 (11:09 +0200)]
Add filename_format option
Allows the user to set how fio should generate the file names
used by jobs. The default is $jobname.$jobnumber.$filenumber
as it always has been, but now it's configurable as well. See
the included documentation.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Steven Noonan [Thu, 4 Apr 2013 07:05:56 +0000 (09:05 +0200)]
gitignore: ignore configure script outputs
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>