fio.git
10 years agoClear f on error get_next_file_rr()
Jens Axboe [Wed, 20 May 2009 08:45:12 +0000 (10:45 +0200)]
Clear f on error get_next_file_rr()

Otherwise we could return an invalid non-open file and trigger and
assertion failure later in the process.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoReturn EILSEQ on verify errors instead of EIO
Jens Axboe [Tue, 19 May 2009 08:35:38 +0000 (10:35 +0200)]
Return EILSEQ on verify errors instead of EIO

Suggested by Randy Dunlap <randy.dunlap@oracle.com>

This makes it easier to differentiate between an error to read/write
from disk versus getting the wrong data back.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoInclude transfer size in the clat/slat measurements
Jens Axboe [Mon, 18 May 2009 11:08:12 +0000 (13:08 +0200)]
Include transfer size in the clat/slat measurements

It's useful to know the block size that matches the given latency, so
add that to the end.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix garbling of clat/slat logs if a shared log file is used
Fabio Checconi [Mon, 18 May 2009 10:54:50 +0000 (12:54 +0200)]
Fix garbling of clat/slat logs if a shared log file is used

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Wed, 13 May 2009 05:51:19 +0000 (07:51 +0200)]
Merge branch 'master' of ssh://router/data/git/fio

10 years agofio howto typo fixes
Randy Dunlap [Wed, 13 May 2009 05:51:05 +0000 (07:51 +0200)]
fio howto typo fixes

Fix a few typos in the fio HOWTO file.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agofio docs corrections
Randy Dunlap [Wed, 13 May 2009 05:50:38 +0000 (07:50 +0200)]
fio docs corrections

Correct fio mailing list address and unit of time for cpuchunks.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: fix compilation warnings on Solaris
Jens Axboe [Mon, 11 May 2009 08:37:33 +0000 (10:37 +0200)]
net engine: fix compilation warnings on Solaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.26.2 fio-1.26.2
Jens Axboe [Thu, 7 May 2009 12:21:59 +0000 (14:21 +0200)]
Fio 1.26.2

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Thu, 30 Apr 2009 06:07:43 +0000 (08:07 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

10 years ago'V' is a running state, not an idle state. Correct HOWTO.
Jens Axboe [Wed, 29 Apr 2009 07:52:10 +0000 (09:52 +0200)]
'V' is a running state, not an idle state. Correct HOWTO.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAlign io units to processor cache line size
Jens Axboe [Wed, 29 Apr 2009 07:48:04 +0000 (09:48 +0200)]
Align io units to processor cache line size

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix name of the slat log file
Radha Ramachandran [Wed, 29 Apr 2009 05:23:26 +0000 (07:23 +0200)]
Fix name of the slat log file

Currently the slat and clat logs go to the same clat log file when the
latency log file is specified.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoDon't populate random data for verify reads
Radha Ramachandran [Tue, 28 Apr 2009 06:12:56 +0000 (08:12 +0200)]
Don't populate random data for verify reads

I was seeing some performance drop during the read verification phase
of a test, and from the code in io_u.c in get_io_u function, we
prepare/populate the buffer in the io_u structure based on the verify
patterns/options.
This makes sense when we are doing writes, but I dont understand why
we do this for the read phase when this data is going to be
overwritten anyways(and in case of truncated reads, we do modify the
buf_len).
So based on that I changed the code to populate the buffer(io_u->buf)
only if its a write with verify enabled.
This works for my tests, but I do not know if there was a reason why
this was populated for reads as well to begin with.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.26.1 fio-1.26.1
Jens Axboe [Mon, 27 Apr 2009 06:05:45 +0000 (08:05 +0200)]
Fio 1.26.1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFilename must be parsed after directory option
Jens Axboe [Mon, 27 Apr 2009 06:00:48 +0000 (08:00 +0200)]
Filename must be parsed after directory option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoUpdate bssplit documentation in fio.1
Jens Axboe [Fri, 24 Apr 2009 12:23:59 +0000 (14:23 +0200)]
Update bssplit documentation in fio.1

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agofio: Include support for ARM
Kedar Sovani [Thu, 23 Apr 2009 11:47:41 +0000 (13:47 +0200)]
fio: Include support for ARM

Assembly instructions picked from include/asm-arm/system.h

Signed-off-by: Kedar Sovani <kedars@marvell.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.26 fio-1.26
Jens Axboe [Wed, 22 Apr 2009 07:48:34 +0000 (09:48 +0200)]
Fio 1.26

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd sample job for doing a quick SSD performance analysis
Jens Axboe [Wed, 22 Apr 2009 07:47:43 +0000 (09:47 +0200)]
Add sample job for doing a quick SSD performance analysis

Nothing SSD special about it really, but this sort of test is
useful on SSD drives to see if they are crap or not.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix issue with random offset being off if io_size != real_file_size
Radha Ramachandran [Wed, 22 Apr 2009 06:17:42 +0000 (08:17 +0200)]
Fix issue with random offset being off if io_size != real_file_size

get_next_free_block() would generate offset that were larger than the
requested size, either causing failures or just causing the test
to exit prematurely.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoRemove debug printf()
Jens Axboe [Tue, 21 Apr 2009 07:17:31 +0000 (09:17 +0200)]
Remove debug printf()

Left in by mistake.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd support for different weights for reads and writes with bssplit
Jens Axboe [Tue, 21 Apr 2009 06:29:55 +0000 (08:29 +0200)]
Add support for different weights for reads and writes with bssplit

You can now do:

bssplit=4k/20:8k/80,1k/50:4k/50

To have 20% 4k reads and 80% 8k reads, while having 50% 1k writes
and 50% 4k writes. This is identical to how the bs= option treats
reads and writes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAllow IO logging even for diskless engines
Jens Axboe [Tue, 21 Apr 2009 06:28:17 +0000 (08:28 +0200)]
Allow IO logging even for diskless engines

Helps to verify IO patterns.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agosplice engine: fix vmsplice() problem with block sizes larger than a pipe
Jens Axboe [Mon, 20 Apr 2009 10:39:17 +0000 (12:39 +0200)]
splice engine: fix vmsplice() problem with block sizes larger than a pipe

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.25.2 fio-1.25.2
Jens Axboe [Mon, 20 Apr 2009 09:39:04 +0000 (11:39 +0200)]
Fio 1.25.2

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix throughput reporting
Jens Axboe [Mon, 20 Apr 2009 08:06:02 +0000 (10:06 +0200)]
Fix throughput reporting

It was off by 1024/1024 :/

Initial patch from Carl Henrik Lunde <chlunde@ping.uio.no>

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix crash with multiple files
Carl Henrik Lunde [Mon, 20 Apr 2009 06:41:37 +0000 (08:41 +0200)]
Fix crash with multiple files

There's an off-by-one in add_file() when it calculates the size
for the file array.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.25.1 fio-1.25.1
Jens Axboe [Wed, 8 Apr 2009 05:54:20 +0000 (07:54 +0200)]
Fio 1.25.1

Silly segfault with cpuio/null engines.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Tue, 7 Apr 2009 20:21:28 +0000 (22:21 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

10 years agoUse td_io_get_file_size() instead of calling ->get_file_size()
Jens Axboe [Tue, 7 Apr 2009 20:20:56 +0000 (22:20 +0200)]
Use td_io_get_file_size() instead of calling ->get_file_size()

It may be NULL on some engines, causing a crash.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.25 fio-1.25
Jens Axboe [Tue, 7 Apr 2009 11:40:04 +0000 (13:40 +0200)]
Fio 1.25

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoReseed random generator for loop/time based runs
Jens Axboe [Tue, 7 Apr 2009 11:28:12 +0000 (13:28 +0200)]
Reseed random generator for loop/time based runs

Then we get repeatable 2nd/3rd/etc runs. This is important
if the file layout was random, otherwise subsequent runs will
get very different results.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFile reset should clear random map as well
Jens Axboe [Tue, 7 Apr 2009 11:06:43 +0000 (13:06 +0200)]
File reset should clear random map as well

Fixes infinite loop on time based runs, where it repeatedly
fails getting a new offset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Tue, 7 Apr 2009 10:52:08 +0000 (12:52 +0200)]
Merge branch 'master' of ssh://router/data/git/fio

10 years agoaio: fixed a signedness issue that could cause abort on strace
Jens Axboe [Tue, 7 Apr 2009 10:51:45 +0000 (12:51 +0200)]
aio: fixed a signedness issue that could cause abort on strace

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd some missing options to the man page
Jens Axboe [Sat, 14 Mar 2009 19:17:36 +0000 (20:17 +0100)]
Add some missing options to the man page

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMan page typo on zero_buffers
Jens Axboe [Sat, 14 Mar 2009 19:08:47 +0000 (20:08 +0100)]
Man page typo on zero_buffers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd blockalign/ba option
Jens Axboe [Wed, 11 Mar 2009 10:00:13 +0000 (11:00 +0100)]
Add blockalign/ba option

Allows the job to specify alignment of the IO specifically, instead
of relying on using blocksize as the offset alignment.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix integer store bug in parser
Jens Axboe [Tue, 10 Mar 2009 07:57:34 +0000 (08:57 +0100)]
Fix integer store bug in parser

With commit f7fa2653589f9ecf0d3d106286f17620bcf32de0 I forgot to check
the type, so we would mis-store on platforms where sizeof(int) is different
from sizeof(long).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd some missing options to the man page
Jens Axboe [Mon, 9 Mar 2009 13:22:56 +0000 (14:22 +0100)]
Add some missing options to the man page

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoGet rid of int vs siint difference
Jens Axboe [Mon, 9 Mar 2009 13:20:20 +0000 (14:20 +0100)]
Get rid of int vs siint difference

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoUpdate HOWTO with 0x base for siint
Jens Axboe [Mon, 9 Mar 2009 13:16:47 +0000 (14:16 +0100)]
Update HOWTO with 0x base for siint

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAllow 0x (or 0X) prefix for any int value to indicate hex base
Jens Axboe [Mon, 9 Mar 2009 13:15:21 +0000 (14:15 +0100)]
Allow 0x (or 0X) prefix for any int value to indicate hex base

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix failure to strip end of line with comment
Jens Axboe [Fri, 6 Mar 2009 19:29:29 +0000 (20:29 +0100)]
Fix failure to strip end of line with comment

We left a space at the end, which confused the postfix checking.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Fri, 6 Mar 2009 07:11:00 +0000 (08:11 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

10 years agoUpdate smalloc section in README
Jens Axboe [Thu, 5 Mar 2009 20:23:18 +0000 (21:23 +0100)]
Update smalloc section in README

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoUse strict matching for --section command line option
Jens Axboe [Thu, 5 Mar 2009 20:14:21 +0000 (21:14 +0100)]
Use strict matching for --section command line option

Don't limit to string length of passed in section, otherwise we could
be matching more than one section.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAvoid opening files until they are used
Jens Axboe [Thu, 5 Mar 2009 09:13:58 +0000 (10:13 +0100)]
Avoid opening files until they are used

Fio still opens and creates all files, just to check the size of them. Add
a specialized IO engine op for getting the size of a file and use that
instead.

This also cleans a lot of things up. Note that the IO engine version is now
bumped to 10, meaning that external engines will have to separate the
file open from the size checking.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoNeed to clear ->files_size when ->files is cleared
Jens Axboe [Wed, 4 Mar 2009 19:17:22 +0000 (20:17 +0100)]
Need to clear ->files_size when ->files is cleared

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMore file setting bug fixes
Jens Axboe [Wed, 4 Mar 2009 15:03:49 +0000 (16:03 +0100)]
More file setting bug fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoBotch edit in files setup
Jens Axboe [Wed, 4 Mar 2009 14:37:52 +0000 (15:37 +0100)]
Botch edit in files setup

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMissing fio.h update
Jens Axboe [Wed, 4 Mar 2009 14:28:31 +0000 (15:28 +0100)]
Missing fio.h update

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoRealloc td->files to full size immediately
Jens Axboe [Wed, 4 Mar 2009 14:27:42 +0000 (15:27 +0100)]
Realloc td->files to full size immediately

For adding many files, we do as many reallocs() as we have files. This is
slow, so do full allocs instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd create_on_open option
Jens Axboe [Wed, 4 Mar 2009 11:53:13 +0000 (12:53 +0100)]
Add create_on_open option

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
 Please enter the commit message for your changes. Lines starting

10 years agoFix file open leak
Jens Axboe [Wed, 4 Mar 2009 11:52:01 +0000 (12:52 +0100)]
Fix file open leak

Introduced by commit 87b10676354d10be02864ad615e1e9fe5a2376ab

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix bug with openfiles
Jens Axboe [Wed, 4 Mar 2009 08:39:47 +0000 (09:39 +0100)]
Fix bug with openfiles

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix bug in file selection
Jens Axboe [Wed, 4 Mar 2009 07:41:31 +0000 (08:41 +0100)]
Fix bug in file selection

We need to check both the OPEN and CLOSING flag, since CLOSE will not
be set until the file has really been closed.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd 'sequential' file_service_type
Jens Axboe [Wed, 4 Mar 2009 07:27:37 +0000 (08:27 +0100)]
Add 'sequential' file_service_type

This service type will keep a file open until IO to it is completely
done, before moving on to the next available file.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAllow 'norandommap' with verify
Jens Axboe [Thu, 19 Feb 2009 20:32:12 +0000 (21:32 +0100)]
Allow 'norandommap' with verify

We used to turn off verify completely if norandommap was given, since
fio does not track block rewrites. But we can easily track rewrites,
as long as we don't have to track various extent sizes. So relax
the restriction to only cover norandommap with differing block sizes
and adapt log_io_piece() to always use rbtree inserts for cases where
we do need to check for potential overwrites.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFio 1.24 fio-1.24
Jens Axboe [Fri, 6 Feb 2009 13:12:03 +0000 (14:12 +0100)]
Fio 1.24

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoCheck for a valid block device size
Jens Axboe [Mon, 2 Feb 2009 14:07:37 +0000 (15:07 +0100)]
Check for a valid block device size

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: notify receiver of UDP link close
Jens Axboe [Mon, 19 Jan 2009 12:26:36 +0000 (13:26 +0100)]
net engine: notify receiver of UDP link close

Also optimize the send/receive path, only use poll() if the non-blocking
send/recv returned EAGAIN.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix broken rate check
Jens Axboe [Mon, 19 Jan 2009 11:49:48 +0000 (12:49 +0100)]
Fix broken rate check

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: termination fixes
Jens Axboe [Mon, 19 Jan 2009 11:38:27 +0000 (12:38 +0100)]
net engine: termination fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: don't pass in flags
Jens Axboe [Mon, 19 Jan 2009 11:33:51 +0000 (12:33 +0100)]
net engine: don't pass in flags

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: use poll() always for sending/receiving
Jens Axboe [Mon, 19 Jan 2009 09:17:06 +0000 (10:17 +0100)]
net engine: use poll() always for sending/receiving

Avoids getting stuck waiting for data and not accepting signals.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd comment on UDP on examples/netio
Jens Axboe [Fri, 16 Jan 2009 18:17:35 +0000 (19:17 +0100)]
Add comment on UDP on examples/netio

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMissing text in iodepth_batch* help entries
Jens Axboe [Fri, 16 Jan 2009 18:15:33 +0000 (19:15 +0100)]
Missing text in iodepth_batch* help entries

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agolibaio engine: get rid of non-async behaviour with buffered IO
Jens Axboe [Fri, 16 Jan 2009 18:15:07 +0000 (19:15 +0100)]
libaio engine: get rid of non-async behaviour with buffered IO

It may not be true, just get rid of it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: accept both upper and lowercase tcp/udp.
Jens Axboe [Fri, 16 Jan 2009 12:22:26 +0000 (13:22 +0100)]
net engine: accept both upper and lowercase tcp/udp.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agonet engine: add UDP support
Jens Axboe [Fri, 16 Jan 2009 12:21:15 +0000 (13:21 +0100)]
net engine: add UDP support

The filename= option now accepts a third parameter designating the
protocol type, udp or tcp.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd platform section to README
Jens Axboe [Wed, 7 Jan 2009 09:05:14 +0000 (10:05 +0100)]
Add platform section to README

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoOS includes need errno.h
Jens Axboe [Tue, 6 Jan 2009 13:22:30 +0000 (14:22 +0100)]
OS includes need errno.h

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agosmalloc: get rid of MP_SAFE define and lock checks
Jens Axboe [Tue, 6 Jan 2009 10:30:08 +0000 (11:30 +0100)]
smalloc: get rid of MP_SAFE define and lock checks

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoSome more pthread_* call mishandled errors
Jens Axboe [Mon, 5 Jan 2009 18:07:13 +0000 (19:07 +0100)]
Some more pthread_* call mishandled errors

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd --debug=mutex
Jens Axboe [Mon, 5 Jan 2009 18:06:39 +0000 (19:06 +0100)]
Add --debug=mutex

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMake sure os mutex define is visible in mutex.c
Jens Axboe [Mon, 5 Jan 2009 18:04:15 +0000 (19:04 +0100)]
Make sure os mutex define is visible in mutex.c

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoOnly use process shared mutexes on support platforms
Jens Axboe [Mon, 5 Jan 2009 08:56:29 +0000 (09:56 +0100)]
Only use process shared mutexes on support platforms

On FreeBSD, suggest the use of threads instead.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFixup handling of pthread_mutex*() error returns
Jens Axboe [Mon, 5 Jan 2009 08:45:13 +0000 (09:45 +0100)]
Fixup handling of pthread_mutex*() error returns

They return the errno, not 0/-1. Thanks to
Fabio Checconi <fabio@gandalf.sssup.it>
for noticing this.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd fio_cpuset_exit() empty handler for platforms that don't support affinity
Jens Axboe [Mon, 5 Jan 2009 08:40:13 +0000 (09:40 +0100)]
Add fio_cpuset_exit() empty handler for platforms that don't support affinity

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoInclude crc32c and crc32c-intel checksums in FreeBSD/Solaris
Jens Axboe [Mon, 22 Dec 2008 10:29:50 +0000 (11:29 +0100)]
Include crc32c and crc32c-intel checksums in FreeBSD/Solaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoSolaris pset fixes
Jens Axboe [Mon, 22 Dec 2008 10:28:26 +0000 (11:28 +0100)]
Solaris pset fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoSolaris compilation fix
Jens Axboe [Fri, 12 Dec 2008 19:54:15 +0000 (20:54 +0100)]
Solaris compilation fix

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoCPU set creation and destruction can fail on some platforms
Jens Axboe [Fri, 12 Dec 2008 19:51:40 +0000 (20:51 +0100)]
CPU set creation and destruction can fail on some platforms

Check for that and error out if necessary.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoSupport for CPU binding in Solaris
Jens Axboe [Fri, 12 Dec 2008 19:42:26 +0000 (20:42 +0100)]
Support for CPU binding in Solaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd a cpuset exit function
Jens Axboe [Fri, 12 Dec 2008 19:40:27 +0000 (20:40 +0100)]
Add a cpuset exit function

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoPrepare for support for CPU binding on other platforms
Jens Axboe [Fri, 12 Dec 2008 19:02:58 +0000 (20:02 +0100)]
Prepare for support for CPU binding on other platforms

The interface was Linux/glibc centric, since that is what got there first.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years ago__usec_sleep() really just spins, rename it
Jens Axboe [Wed, 10 Dec 2008 12:24:12 +0000 (13:24 +0100)]
__usec_sleep() really just spins, rename it

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoLong line style fix + comment
Jens Axboe [Tue, 9 Dec 2008 07:04:29 +0000 (08:04 +0100)]
Long line style fix + comment

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoDon't allow higher CPU counts than what the system has
Jens Axboe [Mon, 8 Dec 2008 19:31:43 +0000 (20:31 +0100)]
Don't allow higher CPU counts than what the system has

Basically just catch the condition before setting up the job, job files,
etc.

Also fixes a big with cpumask, it set the wrong part.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoMake sure that the given CPU range is within the bounds of the OS
Jens Axboe [Mon, 8 Dec 2008 14:03:12 +0000 (15:03 +0100)]
Make sure that the given CPU range is within the bounds of the OS

glibc provides CPU_SETSIZE as the maximum CPU count.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd gtod_cpu option for pinning gettimeofday() to a single CPU
Jens Axboe [Mon, 8 Dec 2008 13:10:52 +0000 (14:10 +0100)]
Add gtod_cpu option for pinning gettimeofday() to a single CPU

Similar to what real life products sometimes do, offload gettimeofday()
calls to a single CPU and have that update the current time into a shared
memory location. This option pins a specific CPU for that job, and excludes
it from participating in any of the IO jobs.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoProperly strip end-of-option blanks
Jens Axboe [Mon, 8 Dec 2008 13:06:42 +0000 (14:06 +0100)]
Properly strip end-of-option blanks

We don't want to fail with

option_foo = 0

when

option_foo=0

works.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAllow ranges of CPUs in cpus_allowed option
Jens Axboe [Mon, 8 Dec 2008 10:37:01 +0000 (11:37 +0100)]
Allow ranges of CPUs in cpus_allowed option

For a larger number of CPUs, it's a bit of a bother having to set
each one individually. Plus, you typically want to bind to a range of
CPUs, to keep the job core local (or whatever your preference). So extend
cpus_allowed to take ranges of CPU numbers as well. Now you can do:

cpus_allowed=0-7

and have your job confined to CPUs 0 through 7.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoFix bogus 'may be used uninitialized' warning from older gcc versions
Jens Axboe [Fri, 5 Dec 2008 12:17:16 +0000 (13:17 +0100)]
Fix bogus 'may be used uninitialized' warning from older gcc versions

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoAdd comment on cpumask not working with a CPU count > 32
Jens Axboe [Fri, 5 Dec 2008 11:57:11 +0000 (12:57 +0100)]
Add comment on cpumask not working with a CPU count > 32

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agosmalloc: pool->file is only used in add_pool(), so make it local
Jens Axboe [Thu, 4 Dec 2008 13:33:41 +0000 (14:33 +0100)]
smalloc: pool->file is only used in add_pool(), so make it local

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agosmalloc: unlink pool file in add_pool()
Jens Axboe [Thu, 4 Dec 2008 13:30:13 +0000 (14:30 +0100)]
smalloc: unlink pool file in add_pool()

Don't defer until cleanup time, since we may not clean up if fio
crashes or is killed in other ways.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
10 years agoUse frame pointer
Jens Axboe [Thu, 20 Nov 2008 08:13:23 +0000 (09:13 +0100)]
Use frame pointer

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>