FSL Filebench port became a mainline! We maintain
the official Filebench page hosted at Sourceforge. Please look for all
This page aimed to maintain Filebench port for Linux/FreeBSD platforms.
In June 2011 this port replaced the mainline Filebench; this page is
only for historical purposes.
FSL Filebench port became a mainline! This page is not maintened any more.
Please, go to filebench.sourceforge.net for new
releases and support.
(***depricated with 1.4.9 release***) released!
Address space randomization problem addressed, thread model removed, ioprios
support added, min and max latencies for flowops added,
|Version 1.4.8.fsl.0.7 released!
SEGFAULT caused by invalid random number generation fixed, dirsizegamma parameter fix, other.
|Version 1.4.8.fsl.0.6 released!
Deadlock while thread creation fixed, posset feature added, other.
|Version 1.4.8.fsl.0.5 released!
Compilation for SUN Studio compilers fixed.
|Version 1.4.8.fsl.0.4 released!
Direct I/O support, FreeBSD fixes for process model, noreadahead attribute and raw devices support, other.
Below are the reasons why this port existed:
- SUN's version is not compilable on Linux/FreeBSD
- Bugs in the original version
- Certain features we wanted to add
- Could not push fixes to the upstream (no response from the developers)
- Looks like the legacy Filebench development stopped in 2009 (link)
- Multiple posts in the Internet saying that people need Filebench for Linux/FreeBSD
- Filebench is a powerful tool and we wanted to use its power in our research
Summary of changes
It is important to notice that we did NOT change the major mechanism how Filebench functions. Moreover, human interface is not touched too (we only
added some new commands). I.e., if you have used original Filebench before, you don't need to study it again. Most important changes are:
For the complete list of changes look into ChangeLog.
- Autotools building mechanism is completely reforged to support a variety of UNIX-like OSes
- Compilation error and warning fixes on Linux/FreeBSD/Solaris/OpenSolaris platforms for both 32 and 64 bit systems
- Direct I/O support fixed on Linux/FreeBSD
- Removal of scripts/xanadu: only the files required to create go_filebench binary are in the port
- Addition of the OSPROF and min and max latency functionality
- noreadahed flowop attribute added to disable readahead
- Automatic increase of the opened files and shared memory limits
- Use /proc/<pid>/stat/ on Linux go get per process per flowop statistics
- Allow compilation if libtecla is not available
- A number of fixes to make the number of CPU microseconds per operation correct on Linux
- Fixes to report results correctly both on 64 and 32 bit systems
- Use process model by default in all cases on all platforms
- Creation of the list of conditional compilations, so that you can compare Filebench configurations
running on different platforms
- Solaris-specific conditional compilations and "tricks" are removed
- Fixing loop exit condition and not bzero()ing aiocb in the the aio_write flowop
- sigignore() and waitid() emulation for FreeBSD platforms
- Allowing to snapshot statistice multiple times during the benchmark run.
- Deadlock while thread creation fixed.
- dirsizegamma parameter was not working properly in legacy Filebench
- Posset feature added.
- ioprio support added
- Thread model support was removed, as it does not reflect real picture.
- Code cleanup
Visit official Filebench page for
all sorts of support.
Visit official Filebench page for
We believe that Filebench is a powerful tool for a versatile file system and storage performance analysis. We thank the authors: Richard McDougall, Neelakanth Nadgir, Shawn Debnath, Spencer Shepler - for their great job. We also thank SUN Microsystems for supporting those people.
We also would like to thank the following people for their contribution:
- Evgeny Budilovsky (Fix of a deadlock while thread creation)