Roadmap
Filebench 1.5
Filebench 1.5 will include many new features and bug fixes. This page is created to plan upcoming and future releases and keep track of the progress.
Features
- Custom Variables
Pool of Tasks
- Support for floating-point (DOUBLE) constants and variables
- Use floating point for perceents in table distribution
- Custom Variables related
- filesizegamma parameter is not needed as we have custom/random variables with gamma distribution
- Update USAGE text
- add offset parameter
- revisit ioprio support
- Fix compilation bugs and warning from the bug reporting systems
- Revisit part-by-part Filebench executiong (create-fileset, create-proc, stat_snap)
- Remove interactive support
- Resurect test machine and keep testing running
- Predictable random numbers (seed=) for reproducible experiments
- FreeBSD and Solaris Testing
- FreeBSD, analog for /proc/stat or libkstat and /proc/<pid>/stat?
- bzero() on FreeBSD
- Check Solaris-specific code
- usec/cpu-op is incorrect for oltp workload. OLTP in general works weird. Figure it out, do it only after process model is enabled.
- Check what happens if pthreads (and others, like lm) are not available
- Should we have only process model?..
- -D_REENTRANT, do we need it?
- leafdirs attributes for filesets does not work correctly: entry names
for files collide with entry names for leafdirs.
- Multi-client support
- rulti_client_sync.c and patches
- Does aio_read() work?
- Ifdefs for all header files
- Enforce configuration option:
#ifdef HAVE_ .... #elif HAVE_ #else ERROR #fi
but not just if else that can easily fail.
- Non-interactive mode only
- remove all other code
- reuse flag make it work
- Free randdist, string, and cvar when reassigning a variable
- fs_dirwidth, fs_digamma, fs_dirdepth_rv, etc. are confusing. Simplify.
- Move shm_threadflow_lock to the procflow structure where it belongs to.
- make compilation independent from parser_gram.y (so that when we touch it...)
- Ifdefs for all header files
- print all defines, sizeofs, functions used, or something like that
- reenable fscheck command later
- reenable multi_client_sync.c later
- HAVE_CFTIME -> HAVE_STRFTIME
- Auto-completio db is outdated
- remove config.h on make distclean
- modify filebench so that it supports reuse properly (even for writes)
(then we can use dd of pre-stored images - but how to store them?...)
- Sometimes on white we hang right after thread creation: 927: 7.180: Starting 100 filereaderthread threads wchan shows: futex_wait_queue_meroot()
- add fb_ prefix to all function in order not to pollute namespace
- rename files properly
- Use __function__ constant.
- move random generation from posset.c to fb_random.c
- make a policy about abd_t usage.
~