diff options
Diffstat (limited to 'usr/src/cmd/filebench/common/parser_gram.y')
| -rw-r--r-- | usr/src/cmd/filebench/common/parser_gram.y | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/usr/src/cmd/filebench/common/parser_gram.y b/usr/src/cmd/filebench/common/parser_gram.y index a52f147d70..33a45d179e 100644 --- a/usr/src/cmd/filebench/common/parser_gram.y +++ b/usr/src/cmd/filebench/common/parser_gram.y @@ -172,7 +172,7 @@ static void parser_version(cmd_t *cmd); %token FSC_LIST FSC_DEFINE FSC_EXEC FSC_QUIT FSC_DEBUG FSC_CREATE %token FSC_SLEEP FSC_STATS FSC_FOREACH FSC_SET FSC_SHUTDOWN FSC_LOG %token FSC_SYSTEM FSC_FLOWOP FSC_EVENTGEN FSC_ECHO FSC_LOAD FSC_RUN -%token FSC_WARMUP +%token FSC_WARMUP FSC_NOUSESTATS %token FSC_USAGE FSC_HELP FSC_VARS FSC_VERSION FSC_ENABLE FSC_DOMULTISYNC %token FSV_STRING FSV_VAL_INT FSV_VAL_BOOLEAN FSV_VARIABLE FSV_WHITESTRING %token FSV_RANDUNI FSV_RANDTAB FSV_RANDVAR FSV_URAND FSV_RAND48 @@ -829,6 +829,13 @@ set_command: FSC_SET FSV_VARIABLE FSK_ASSIGN FSV_VAL_INT if (($$ = alloc_cmd()) == NULL) YYERROR; $$->cmd = NULL; +} | FSC_SET FSE_MODE FSC_NOUSESTATS +{ + filebench_shm->shm_mmode |= FILEBENCH_MODE_NOUSAGE; + filebench_log(LOG_INFO, "disabling CPU usage statistics"); + if (($$ = alloc_cmd()) == NULL) + YYERROR; + $$->cmd = NULL; }| FSC_SET FSV_RANDVAR FSS_TYPE FSK_ASSIGN randvar_attr_typop { if (($$ = alloc_cmd()) == NULL) @@ -1051,6 +1058,10 @@ shutdown_command: FSC_SHUTDOWN entity case FSE_PROC: $$->cmd = &parser_proc_shutdown; break; + case FSE_FILE: + case FSE_FILESET: + $$->cmd = &parser_fileset_shutdown; + break; default: filebench_log(LOG_ERROR, "unknown entity", $2); YYERROR; @@ -2918,6 +2929,17 @@ parser_fileset_create(cmd_t *cmd) } /* + * Deletes the files and directories that represent files and filesets on the + * storage medium. + */ +static void +parser_fileset_shutdown(cmd_t *cmd) +{ + filebench_log(LOG_INFO, "Shutting down filesets"); + fileset_delete_all_filesets(); +} + +/* * Shuts down all processes and their associated threads. When finished * it deletes interprocess shared memory and resets the event generator. * It does not exit the filebench program though. |
