Difference between revisions of "Roadmap"
(→Pool of Tasks) |
|||
Line 34: | Line 34: | ||
* FreeBSD and Solaris Testing | * 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. | * 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. | ||
+ | ~ |
Revision as of 21:53, 1 August 2014
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.
~