fio.git
8 years agoRevert "parser: get rid of useless is_time variable"
Jens Axboe [Thu, 5 May 2011 18:05:10 +0000 (12:05 -0600)]
Revert "parser: get rid of useless is_time variable"

This reverts commit 1a1137d9ba2603e295aaac579777ab0d3524faa6.

8 years agoExit with error on signal
Jens Axboe [Thu, 5 May 2011 14:17:03 +0000 (08:17 -0600)]
Exit with error on signal

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agosscanf fixup
Bruce Cran [Thu, 5 May 2011 14:14:09 +0000 (08:14 -0600)]
sscanf fixup

I noticed that a job of:

[sequential write at  1k block size.]

Gets reported as "sequentia".

I think we need to use %255[^\n] in sscanf instead.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agowindowsaio: skip uncompleted requests
Bruce Cran [Thu, 5 May 2011 14:13:37 +0000 (08:13 -0600)]
windowsaio: skip uncompleted requests

Windows sometimes gives us an IO request which hasn't completed yet,
which we need to ignore.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoWindows fixes
Bruce Cran [Wed, 4 May 2011 13:54:13 +0000 (07:54 -0600)]
Windows fixes

- Fix XP support: get pointer to CancelIoEx at runtime.
- Fix overlapped IO.
- Don't use overlapped IO if direct or synchronous options are set.
- Check if write option is set before opening file in read-only mode:
  fixes 'rw=rw'.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoConvert left-over manual ->runstate setting to td_set_runstate()
Jens Axboe [Mon, 2 May 2011 19:14:26 +0000 (13:14 -0600)]
Convert left-over manual ->runstate setting to td_set_runstate()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoBump max job count to 2048
Jens Axboe [Mon, 2 May 2011 19:05:02 +0000 (13:05 -0600)]
Bump max job count to 2048

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoSwitch mutex to using anonymous mmap
Jens Axboe [Mon, 2 May 2011 16:10:56 +0000 (10:10 -0600)]
Switch mutex to using anonymous mmap

We don't need an fd backing for this, saves on file descriptors
in use.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFio 1.52 fio-1.52
Jens Axboe [Fri, 29 Apr 2011 09:40:06 +0000 (11:40 +0200)]
Fio 1.52

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoAdd space between -m and 755 for install
Jens Axboe [Fri, 29 Apr 2011 06:24:10 +0000 (08:24 +0200)]
Add space between -m and 755 for install

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoRemove solaris posix_memalign() helper
Jens Axboe [Mon, 25 Apr 2011 18:49:45 +0000 (20:49 +0200)]
Remove solaris posix_memalign() helper

Not used in core code anymore.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoAdd simple aligned alloc helper
Jens Axboe [Mon, 25 Apr 2011 18:46:58 +0000 (20:46 +0200)]
Add simple aligned alloc helper

We don't have posix_memalign() on some Solaris and Darwin, so just
add a poor mans implementation of it. Outside of arch code where
we have proper posix_memalign(), this is only used to ensure good
alignment of the io_u in the core code.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoos-mac.h: implement fio_set_odirect()
Steven Noonan [Sat, 23 Apr 2011 06:08:13 +0000 (23:08 -0700)]
os-mac.h: implement fio_set_odirect()

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoos-mac.h: implement blockdev_size()
Steven Noonan [Sat, 23 Apr 2011 06:07:46 +0000 (23:07 -0700)]
os-mac.h: implement blockdev_size()

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoSwitch all random generators to be decided by use_os_rand
Jens Axboe [Mon, 28 Mar 2011 07:51:09 +0000 (09:51 +0200)]
Switch all random generators to be decided by use_os_rand

This includes file sizing, next file, block size selection,
trim state, and verify state.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoSwitch the latter part of the offset generation to __rand() too
Jens Axboe [Mon, 28 Mar 2011 07:37:41 +0000 (09:37 +0200)]
Switch the latter part of the offset generation to __rand() too

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoSwitch to using our internal Tausworthe based random generator for offsets
Jens Axboe [Mon, 28 Mar 2011 07:35:09 +0000 (09:35 +0200)]
Switch to using our internal Tausworthe based random generator for offsets

It's both faster and more exhaustive than what is available on
glibc on my test systems. So no downsides, and the upside of having
the same offset generator across all platforms.

This will change the random series, so could alter performance for
your workload since the pattern will be different in sequence. There's
an option to revert to the OS generator, you can add use_us_rand=1
on your job files to retain the old generator offsets.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix parser bug dealing with range options and postfix
Jens Axboe [Sun, 27 Mar 2011 18:55:09 +0000 (20:55 +0200)]
Fix parser bug dealing with range options and postfix

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoGet rid of mixed rw and verify warning
Jens Axboe [Sun, 27 Mar 2011 18:53:39 +0000 (20:53 +0200)]
Get rid of mixed rw and verify warning

Should workd fine.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoparser: get rid of useless is_time variable
Jens Axboe [Sun, 27 Mar 2011 18:43:20 +0000 (20:43 +0200)]
parser: get rid of useless is_time variable

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix unsigned integer overflow in IO buffer allocator
Jens Axboe [Fri, 25 Mar 2011 20:36:28 +0000 (21:36 +0100)]
Fix unsigned integer overflow in IO buffer allocator

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFio 1.51 fio-1.51
Jens Axboe [Tue, 22 Mar 2011 13:33:04 +0000 (14:33 +0100)]
Fio 1.51

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix linking of fio executable
Diego Elio Pettenò [Mon, 21 Mar 2011 19:13:53 +0000 (20:13 +0100)]
Fix linking of fio executable

First of all make sure that $(LDFLAGS) are used during linking so that the
user can set the linker's flags.

Then also make sure that libraries are listed after the objects, so that
GNU ld's --as-needed option will not cause fio linking to fail.

Cc: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoAdd support for giving multiple --section options
Jens Axboe [Fri, 11 Mar 2011 09:16:17 +0000 (10:16 +0100)]
Add support for giving multiple --section options

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWindows: add missing files needed for msi build
Bruce Cran [Fri, 28 Jan 2011 07:41:42 +0000 (08:41 +0100)]
Windows: add missing files needed for msi build

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoReinstate unified Makefile
Bruce Cran [Fri, 28 Jan 2011 07:39:09 +0000 (08:39 +0100)]
Reinstate unified Makefile

Don't use ifeq statements.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50.2 fio-1.50.2
Jens Axboe [Thu, 27 Jan 2011 21:26:29 +0000 (22:26 +0100)]
Fio 1.50.2

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix end-of-job slowdown for random IO with a random map
Jens Axboe [Thu, 27 Jan 2011 21:25:29 +0000 (22:25 +0100)]
Fix end-of-job slowdown for random IO with a random map

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoKill flist_sort from Makefiles
Jens Axboe [Thu, 27 Jan 2011 21:25:02 +0000 (22:25 +0100)]
Kill flist_sort from Makefiles

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRevert "Unify makefiles"
Jens Axboe [Thu, 27 Jan 2011 21:23:48 +0000 (22:23 +0100)]
Revert "Unify makefiles"

This reverts commit 7d130d8d2a5638ca91dc81ec085acef4d3c3ad08.

It requires make 3.81, and some popular distros are still using
make 3.80.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agosolaris: OpenSolaris already has the madvise advice defined
Jens Axboe [Thu, 27 Jan 2011 09:10:07 +0000 (10:10 +0100)]
solaris: OpenSolaris already has the madvise advice defined

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50.1 fio-1.50.1
Jens Axboe [Wed, 26 Jan 2011 20:44:29 +0000 (21:44 +0100)]
Fio 1.50.1

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Wed, 26 Jan 2011 19:52:52 +0000 (20:52 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

9 years agosolaris: char dev size fixes
Jens Axboe [Wed, 26 Jan 2011 19:43:50 +0000 (20:43 +0100)]
solaris: char dev size fixes

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50 fio-1.50
Jens Axboe [Tue, 25 Jan 2011 15:18:08 +0000 (16:18 +0100)]
Fio 1.50

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMove version logging
Jens Axboe [Tue, 25 Jan 2011 12:06:16 +0000 (13:06 +0100)]
Move version logging

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRemove flist_sort(), it's no longer used
Jens Axboe [Mon, 24 Jan 2011 20:53:27 +0000 (21:53 +0100)]
Remove flist_sort(), it's no longer used

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoUnify makefiles
Bruce Cran [Mon, 24 Jan 2011 20:52:23 +0000 (21:52 +0100)]
Unify makefiles

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agommap: catch invalid msync() errors early
Jens Axboe [Sat, 22 Jan 2011 22:11:13 +0000 (15:11 -0700)]
mmap: catch invalid msync() errors early

Reported-by: Bruce Cran <bruce@cran.org.uk>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEnsure that we exit with non-zero status on IO engine load failure
Jens Axboe [Sat, 22 Jan 2011 22:11:03 +0000 (15:11 -0700)]
Ensure that we exit with non-zero status on IO engine load failure

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50-rc4 fio-1.50-rc4
Jens Axboe [Thu, 20 Jan 2011 17:17:35 +0000 (10:17 -0700)]
Fio 1.50-rc4

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd fill_fs alias for fill_device
Jens Axboe [Thu, 20 Jan 2011 17:16:03 +0000 (10:16 -0700)]
Add fill_fs alias for fill_device

Name implies that it works on a device, which isn't quite correct.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoExpand on fill_device option since it apparently causes confusion
Jens Axboe [Wed, 19 Jan 2011 22:35:26 +0000 (15:35 -0700)]
Expand on fill_device option since it apparently causes confusion

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoGet rid of shadow declarations
Jens Axboe [Wed, 19 Jan 2011 21:04:16 +0000 (14:04 -0700)]
Get rid of shadow declarations

Reported-by: Bruce Cran <bruce@cran.org.uk>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoDefine OS preferred IO engine
Jens Axboe [Wed, 19 Jan 2011 18:09:58 +0000 (11:09 -0700)]
Define OS preferred IO engine

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix merge error hiding mmap ioengine under Windows build
Jens Axboe [Wed, 19 Jan 2011 18:07:28 +0000 (11:07 -0700)]
Fix merge error hiding mmap ioengine under Windows build

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRemove version number from Windows MSI file
Bruce Cran [Wed, 19 Jan 2011 17:42:31 +0000 (10:42 -0700)]
Remove version number from Windows MSI file

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRe-tab some parts of README
Bruce Cran [Wed, 19 Jan 2011 17:41:48 +0000 (10:41 -0700)]
Re-tab some parts of README

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd instructions for building and running the Windows version of fio to README
Bruce Cran [Wed, 19 Jan 2011 17:41:10 +0000 (10:41 -0700)]
Add instructions for building and running the Windows version of fio to README

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRemember to initialize return value in fixup_options()
Jens Axboe [Wed, 19 Jan 2011 05:33:02 +0000 (22:33 -0700)]
Remember to initialize return value in fixup_options()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMultiple jobs and verify will not fail if do_verify=0
Jens Axboe [Tue, 18 Jan 2011 12:41:39 +0000 (05:41 -0700)]
Multiple jobs and verify will not fail if do_verify=0

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEnsure that short command line options work
Jens Axboe [Tue, 18 Jan 2011 12:22:22 +0000 (05:22 -0700)]
Ensure that short command line options work

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoCorrect check to o->numjobs > 1 for verify warning
Jens Axboe [Mon, 17 Jan 2011 23:51:46 +0000 (16:51 -0700)]
Correct check to o->numjobs > 1 for verify warning

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd --warnings-fatal/-w option
Jens Axboe [Mon, 17 Jan 2011 23:49:54 +0000 (16:49 -0700)]
Add --warnings-fatal/-w option

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoClean io_u->buf_filled_len in io_u_fill_buffer()
Jens Axboe [Sun, 16 Jan 2011 15:32:08 +0000 (08:32 -0700)]
Clean io_u->buf_filled_len in io_u_fill_buffer()

Not a bug as such, but it could be if we used it in other
locations in the future. So better be safe.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoStreamline pattern/meta verifies instead of special casing them
Jens Axboe [Fri, 14 Jan 2011 20:20:42 +0000 (21:20 +0100)]
Streamline pattern/meta verifies instead of special casing them

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50-rc3 fio-1.50-rc3
Jens Axboe [Fri, 14 Jan 2011 19:51:54 +0000 (20:51 +0100)]
Fio 1.50-rc3

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoCleanup some verify bits
Jens Axboe [Fri, 14 Jan 2011 19:51:37 +0000 (20:51 +0100)]
Cleanup some verify bits

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoPrint error if max number of jobs is exceeded
Bruce Cran [Fri, 14 Jan 2011 17:30:26 +0000 (18:30 +0100)]
Print error if max number of jobs is exceeded

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEta/disk thread uses more than the minimum stack
Jens Axboe [Fri, 14 Jan 2011 17:29:19 +0000 (18:29 +0100)]
Eta/disk thread uses more than the minimum stack

Causes crashes on FreeBSD. Just kill it, it's only really
important on the threads we potentially create tons of.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoComment out ->buf_filled_len in pattern fill
Jens Axboe [Fri, 14 Jan 2011 14:32:30 +0000 (15:32 +0100)]
Comment out ->buf_filled_len in pattern fill

It's buggy, needs to be debugged. Disable for now. It can cause
verify failures.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix race in exit of eta/util thread
Jens Axboe [Fri, 14 Jan 2011 14:22:14 +0000 (15:22 +0100)]
Fix race in exit of eta/util thread

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMake sure that pattern verifies also dump contents
Jens Axboe [Fri, 14 Jan 2011 13:49:20 +0000 (14:49 +0100)]
Make sure that pattern verifies also dump contents

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoChange disk util / eta method from signal to thread
Jens Axboe [Fri, 14 Jan 2011 13:14:58 +0000 (14:14 +0100)]
Change disk util / eta method from signal to thread

We used a thread based signal, but that causes a thread to
get created and killed every 250msecs. Lets just setup a
dedicated thread for this.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWe need libgen.h for basename()
Jens Axboe [Fri, 14 Jan 2011 11:41:15 +0000 (12:41 +0100)]
We need libgen.h for basename()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoCorrect basename usage for verify dump
Jens Axboe [Thu, 13 Jan 2011 17:57:54 +0000 (18:57 +0100)]
Correct basename usage for verify dump

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50-rc2 fio-1.50-rc2
Jens Axboe [Wed, 12 Jan 2011 08:07:44 +0000 (09:07 +0100)]
Fio 1.50-rc2

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoDon't double print version when invoked with --version
Jens Axboe [Wed, 12 Jan 2011 08:07:15 +0000 (09:07 +0100)]
Don't double print version when invoked with --version

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd verify_dump option to control whether to dump bad/good blocks or not
Jens Axboe [Wed, 12 Jan 2011 08:03:23 +0000 (09:03 +0100)]
Add verify_dump option to control whether to dump bad/good blocks or not

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEnsure that random_seed is also added to dummy io_buf for dumping
Jens Axboe [Wed, 12 Jan 2011 07:59:12 +0000 (08:59 +0100)]
Ensure that random_seed is also added to dummy io_buf for dumping

Now everything verifies correctly.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoPretty up the good/bad block verify dumping
Jens Axboe [Wed, 12 Jan 2011 07:31:54 +0000 (08:31 +0100)]
Pretty up the good/bad block verify dumping

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWhen verify fails, dump the good/bad blocks to files
Jens Axboe [Tue, 11 Jan 2011 21:16:49 +0000 (22:16 +0100)]
When verify fails, dump the good/bad blocks to files

This makes it easy to compare afterwards to see what kind of
corruption was experienced.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoUpdate Windows version
Jens Axboe [Mon, 10 Jan 2011 19:43:42 +0000 (20:43 +0100)]
Update Windows version

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMerge branch 'winfio'
Jens Axboe [Mon, 10 Jan 2011 19:40:47 +0000 (20:40 +0100)]
Merge branch 'winfio'

9 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Mon, 10 Jan 2011 19:21:02 +0000 (20:21 +0100)]
Merge branch 'master' of ssh://router/data/git/fio

9 years agoFio 1.50-rc1 fio-1.50-rc1
Jens Axboe [Mon, 10 Jan 2011 19:20:38 +0000 (20:20 +0100)]
Fio 1.50-rc1

Now that we have Windows support pretty much done, lets rev
the version.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMerge branch 'winfio'
Jens Axboe [Mon, 10 Jan 2011 19:20:25 +0000 (20:20 +0100)]
Merge branch 'winfio'

9 years agoRemove left-over files
Jens Axboe [Mon, 10 Jan 2011 18:36:09 +0000 (19:36 +0100)]
Remove left-over files

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWindows updates
Bruce Cran [Mon, 10 Jan 2011 18:34:20 +0000 (19:34 +0100)]
Windows updates

- Remove files which are present in a minimal/default installation
  of Cygwin but which aren't needed to run fio. These include man pages,
  awk, groff etc.

- Remove CR from Makefile.Windows in order to maintain consistency with
  the rest of the files.

- Improve the documentation given when starting the FIO environment.

- Rename Cygwin.bat to FIO.bat and add FIO.lnk which is a shortcut to
  FIO.bat configured with QuickEdit and a larger window.

- Reformat install.wxs and move documentation from
  Program Files\FIO\usr\share\doc to Program Files\FIO.

- Restore $(EXTFLAGS) in the Makefile's to enable extra flags to be
  passed on the command-line.

- Remove os/windows/fio.sh which was an experimental way of setting up
  the Cygwin environment that has been replaced with FIO.bat.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agosetgid first, setuid second
Stefan Hajnoczi [Fri, 7 Jan 2011 20:58:05 +0000 (20:58 +0000)]
setgid first, setuid second

Setting a new effective gid requires privileges.  We must set the gid
while we potentially still have superuser privileges.  Otherwise
setgid(2) fails because we've already changed to an unprivileged uid.

Here is a test case:
[global]
rw=read
directory=tmp
size=512m
buffered=0

[file1]
uid=1000
gid=1000

Without this patch fio will fail when invoked by root.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoDocument that write_iolog is unsafe for concurrent jobs
Stefan Hajnoczi [Sat, 8 Jan 2011 19:28:41 +0000 (20:28 +0100)]
Document that write_iolog is unsafe for concurrent jobs

The write_iolog parameter should not be used in the global section since
each job will independently write to the same file.  The output will be
interspersed and the file will be corrupt.

Document that each job should write to its own iolog file.  This will
save users time when trying out the iolog feature for the first time.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Updated by me to make the same change to the man page.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoVarious fixes/updates
Bruce Cran [Sat, 8 Jan 2011 18:49:54 +0000 (19:49 +0100)]
Various fixes/updates

- Update HOWTO to note that directio and fallocate don't work with ZFS
  on Solaris.

Refactor the Makefile's to add CPPFLAGS and LIBS.
- Add -fno-omit-frame-pointer from Linux Makefile to every platform
- Change undefined $(ALL_CFLAGS) to $(CFLAGS)
- Pass -std=gnu99, without which OS X fails to build.
- Add -D__EXTENSIONS__ on Solaris since some functions we need are
  behind it.

- Pull in <limits.h> in fio.c to get PTHREAD_STACK_MIN.
- NetBSD doesn't define PTHREAD_STACK_MIN so set it to 4k in
   os-netbsd.h

- If we have posix_fallocate don't error out if it fails during mutex
  and malloc operations since it will fail on Solaris with a ZFS
  filesystem. As I understand it these aren't performance-critical
  operations so do they need to be considered critical?

- Remove fio_unused from os-* files since it's defined in fio.h and we
  don't really need it.

- FreeBSD has an idprio command but not the API so don't claim it does.

- OS X doesn't have the timer_* API so emulate it using
  setitimer/sigaction.

- NetBSD and Solaris don't support CLOCK_MONOTONIC in timer_create so
  remove FIO_HAVE_CLOCK_MONOTONIC from their os-* files.

I've noticed that a change I made a while ago to use fmin/fmax could
cause issues on older OSes - I had a CD with NetBSD 5.0.2 and found
they had only been implemented in 5.1 so I'm not sure if I should
revert it.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoClose iolog file if reading version string fails
Stefan Hajnoczi [Wed, 5 Jan 2011 10:02:30 +0000 (11:02 +0100)]
Close iolog file if reading version string fails

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio Windows update
Bruce Cran [Tue, 4 Jan 2011 13:44:47 +0000 (14:44 +0100)]
Fio Windows update

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoOS headers need fio_file definition now
Jens Axboe [Tue, 4 Jan 2011 07:36:06 +0000 (08:36 +0100)]
OS headers need fio_file definition now

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFIO Windows update
Bruce Cran [Tue, 4 Jan 2011 09:59:30 +0000 (10:59 +0100)]
FIO Windows update

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFirst snapshot of FIO for Windows
Bruce Cran [Sun, 2 Jan 2011 19:14:54 +0000 (20:14 +0100)]
First snapshot of FIO for Windows

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoInclude fio version in normal output
Jens Axboe [Tue, 28 Dec 2010 08:23:06 +0000 (09:23 +0100)]
Include fio version in normal output

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoUse -pthread instead of -lpthread on FreeBSD
Bruce Cran [Thu, 16 Dec 2010 10:03:22 +0000 (11:03 +0100)]
Use -pthread instead of -lpthread on FreeBSD

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoGet rid of other-OS headers in .depend
Bruce Cran [Thu, 16 Dec 2010 07:52:42 +0000 (08:52 +0100)]
Get rid of other-OS headers in .depend

It looks like blktrace_api.h is being parsed through the depend rule
in Makefile.[FreeBSD|NetBSD|mac] due to the headers being listed in
$(SOURCE) - gcc just ignores missing <> headers while clang generates an
error as it builds the dependency list. Since headers which are
included within source files will be listed as a dependency anyway, I
think they can be removed from $(SOURCE).

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.44.3 fio-1.44.3
Jens Axboe [Wed, 15 Dec 2010 09:34:08 +0000 (10:34 +0100)]
Fio 1.44.3

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFreeBSD build broken due to missing -lrt
Bruce Cran [Wed, 15 Dec 2010 09:33:03 +0000 (10:33 +0100)]
FreeBSD build broken due to missing -lrt

The latest fio fails to link on FreeBSD because timer_create is in
librt but the -lrt flag is missing from Makefile.FreeBSD.

I also noticed a couple of compiler warnings when building with clang -
a format of "%Lu" is used but 'L' doesn't have any effect with 'u' - I
guess %llu is needed since the types are 'unsigned long long'?

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agofix ramp_in
Signed-off-by Steven Pratt [Tue, 14 Dec 2010 07:31:36 +0000 (08:31 +0100)]
fix ramp_in

There are a couple of problems with the relatively new ramp_in feature
of fio.  First, the estimated time to completion did not correctly take
it into account and bounces around.  Second and more importantly, the
runtime was including ramp in time in throughput calculations even
though the IO done during that time was ignored, thus making throughput
metrics incorrect. This patch fixes both.

Signed-off-by Steven Pratt <slpratt@austin.ibm.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoSync HOWTO iodepth option with man page
Jens Axboe [Thu, 2 Dec 2010 19:05:37 +0000 (20:05 +0100)]
Sync HOWTO iodepth option with man page

Also add a note on other restrictions that may cause lower IO depth
than expected.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agofio.1: Add ioengines heads up to the iodepth section
Sebastian Kayser [Wed, 1 Dec 2010 21:28:47 +0000 (22:28 +0100)]
fio.1: Add ioengines heads up to the iodepth section

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Tue, 30 Nov 2010 19:49:24 +0000 (20:49 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

9 years agoAdd additional references to binary packages
Sebastian Kayser [Tue, 30 Nov 2010 19:49:18 +0000 (20:49 +0100)]
Add additional references to binary packages

This adds a couple of references to binary fio packages for Linux distros as
well as for Solaris.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agonrfiles vs nr_files mixups
Jens Axboe [Thu, 25 Nov 2010 07:21:39 +0000 (08:21 +0100)]
nrfiles vs nr_files mixups

The man page references nr_files, the real option is nrfiles.
Change man page and add nr_files alias to nrfiles.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMakefile.solaris: install man pages
Sebastian Kayser [Wed, 24 Nov 2010 12:27:03 +0000 (13:27 +0100)]
Makefile.solaris: install man pages

This patch brings Makefile.solaris in sync with the other Makefiles.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agosolaris: log error for failure to enable direct IO
Jens Axboe [Tue, 23 Nov 2010 10:12:39 +0000 (11:12 +0100)]
solaris: log error for failure to enable direct IO

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>