Commit 28ac13d3 authored by John Esmet's avatar John Esmet Committed by Yoni Fogel

fixes #5910 add direct I/O to the perf framework


git-svn-id: file:///svn/toku/tokudb@52284 c7de825b-a66e-492c-adef-691d508d4ae1
parent e966803f
...@@ -140,6 +140,7 @@ struct cli_args { ...@@ -140,6 +140,7 @@ struct cli_args {
bool nocrashstatus; // do not print engine status upon crash bool nocrashstatus; // do not print engine status upon crash
bool prelock_updates; // update threads perform serial updates on a prelocked range bool prelock_updates; // update threads perform serial updates on a prelocked range
bool disperse_keys; // spread the keys out during a load (by reversing the bits in the loop index) to make a wide tree we can spread out random inserts into bool disperse_keys; // spread the keys out during a load (by reversing the bits in the loop index) to make a wide tree we can spread out random inserts into
bool direct_io; // use direct I/O
}; };
struct arg { struct arg {
...@@ -1961,6 +1962,7 @@ static struct cli_args UU() get_default_args(void) { ...@@ -1961,6 +1962,7 @@ static struct cli_args UU() get_default_args(void) {
.nocrashstatus = false, .nocrashstatus = false,
.prelock_updates = false, .prelock_updates = false,
.disperse_keys = false, .disperse_keys = false,
.direct_io = false,
}; };
return DEFAULT_ARGS; return DEFAULT_ARGS;
} }
...@@ -2346,6 +2348,7 @@ static inline void parse_stress_test_args (int argc, char *const argv[], struct ...@@ -2346,6 +2348,7 @@ static inline void parse_stress_test_args (int argc, char *const argv[], struct
BOOL_ARG("nocrashstatus", nocrashstatus), BOOL_ARG("nocrashstatus", nocrashstatus),
BOOL_ARG("prelock_updates", prelock_updates), BOOL_ARG("prelock_updates", prelock_updates),
BOOL_ARG("disperse_keys", disperse_keys), BOOL_ARG("disperse_keys", disperse_keys),
BOOL_ARG("direct_io", direct_io),
STRING_ARG("--envdir", env_args.envdir), STRING_ARG("--envdir", env_args.envdir),
...@@ -2536,6 +2539,7 @@ test_main(struct cli_args *args, bool fill_with_zeroes) ...@@ -2536,6 +2539,7 @@ test_main(struct cli_args *args, bool fill_with_zeroes)
DB* dbs[args->num_DBs]; DB* dbs[args->num_DBs];
memset(dbs, 0, sizeof(dbs)); memset(dbs, 0, sizeof(dbs));
db_env_enable_engine_status(args->nocrashstatus ? false : true); db_env_enable_engine_status(args->nocrashstatus ? false : true);
db_env_set_direct_io(args->direct_io ? true : false);
if (!args->only_stress) { if (!args->only_stress) {
create_tables( create_tables(
&env, &env,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment