X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=options.c;h=1b0117ef182955e41afa59c04236d313fe7fcac4;hp=8681c218bf51e4c1068216af33a9c4a972119e0c;hb=108600560ae2368369e7b75255539b3286341929;hpb=0626037e3b4d9cb3cdc8c60dedf104f3d31b9484 diff --git a/options.c b/options.c index 8681c218..1b0117ef 100644 --- a/options.c +++ b/options.c @@ -942,6 +942,26 @@ static struct opt_group fio_opt_cat_groups[] = { .name = "General I/O", .mask = FIO_OPT_G_IO_BASIC, }, + { + .name = "Cgroups", + .mask = FIO_OPT_G_CGROUP, + }, + { + .name = "Runtime", + .mask = FIO_OPT_G_RUNTIME, + }, + { + .name = "Process", + .mask = FIO_OPT_G_PROCESS, + }, + { + .name = "Job credentials / priority", + .mask = FIO_OPT_G_CRED, + }, + { + .name = "Clock settings", + .mask = FIO_OPT_G_CLOCK, + }, { .name = NULL, } @@ -974,18 +994,6 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_DESC, }, - { - .name = "kb_base", - .lname = "KB Base", - .type = FIO_OPT_INT, - .off1 = td_var_offset(kb_base), - .verify = kb_base_verify, - .prio = 1, - .def = "1024", - .help = "How many bytes per KB for reporting (1000 or 1024)", - .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, - }, { .name = "filename", .lname = "Filename(s)", @@ -1621,7 +1629,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .def = "1", .interval = 1, .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_RUNTIME, }, { .name = "numjobs", @@ -1632,7 +1640,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .def = "1", .interval = 1, .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_RUNTIME, }, { .name = "startdelay", @@ -1642,7 +1650,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Only start job when this period has passed", .def = "0", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_RUNTIME, }, { .name = "runtime", @@ -1653,7 +1661,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Stop workload when this amount of time has passed", .def = "0", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_RUNTIME, }, { .name = "time_based", @@ -1662,7 +1670,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(time_based), .help = "Keep running until runtime/timeout is met", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_RUNTIME, }, { .name = "ramp_time", @@ -1671,7 +1679,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(ramp_time), .help = "Ramp up time before measuring performance", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_RUNTIME, }, { .name = "clocksource", @@ -1681,7 +1689,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(clocksource), .help = "What type of timing source to use", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CLOCK, .posval = { { .ival = "gettimeofday", .oval = CS_GTOD, @@ -2124,6 +2132,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Percentage of mixed workload that is reads", .def = "50", .interval = 5, + .inverse = "rwmixwrite", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RWMIX, }, @@ -2136,6 +2145,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Percentage of mixed workload that is writes", .def = "50", .interval = 5, + .inverse = "rwmixread", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RWMIX, }, @@ -2157,7 +2167,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .def = "0", .interval = 1, .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CRED, }, #ifdef FIO_HAVE_IOPRIO { @@ -2170,7 +2180,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .maxval = 7, .interval = 1, .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CRED, }, { .name = "prioclass", @@ -2182,7 +2192,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .maxval = 3, .interval = 1, .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CRED, }, #endif { @@ -2394,7 +2404,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .cb = str_cpumask_cb, .help = "CPU affinity mask", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CRED, }, { .name = "cpus_allowed", @@ -2403,7 +2413,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .cb = str_cpus_allowed_cb, .help = "Set CPUs allowed", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CRED, }, #endif { @@ -2443,7 +2453,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .cb = str_exitall_cb, .help = "Terminate all jobs when one exits", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_PROCESS, }, { .name = "stonewall", @@ -2453,7 +2463,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(stonewall), .help = "Insert a hard barrier between this job and previous", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_PROCESS, }, { .name = "new_group", @@ -2462,7 +2472,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(new_group), .help = "Mark the start of a new group (for reporting)", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_PROCESS, }, { .name = "thread", @@ -2471,7 +2481,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(use_thread), .help = "Use threads instead of processes", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_PROCESS, }, { .name = "write_bw_log", @@ -2531,7 +2541,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(group_reporting), .help = "Do reporting on a per-group basis", .def = "1", - .category = FIO_OPT_C_GENERAL, + .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { @@ -2688,7 +2698,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Set up dedicated gettimeofday() thread on this CPU", .verify = gtod_cpu_verify, .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CLOCK, }, { .name = "continue_on_error", @@ -2750,7 +2760,18 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(cgroup), .help = "Add job to cgroup of this name", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CGROUP, + }, + { + .name = "cgroup_nodelete", + .lname = "Cgroup no-delete", + .type = FIO_OPT_BOOL, + .off1 = td_var_offset(cgroup_nodelete), + .help = "Do not delete cgroups after job completion", + .def = "0", + .parent = "cgroup", + .category = FIO_OPT_C_GENERAL, + .group = FIO_OPT_G_CGROUP, }, { .name = "cgroup_weight", @@ -2760,18 +2781,9 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Use given weight for cgroup", .minval = 100, .maxval = 1000, + .parent = "cgroup", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, - }, - { - .name = "cgroup_nodelete", - .lname = "Cgroup no-delete", - .type = FIO_OPT_BOOL, - .off1 = td_var_offset(cgroup_nodelete), - .help = "Do not delete cgroups after job completion", - .def = "0", - .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CGROUP, }, { .name = "uid", @@ -2780,7 +2792,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(uid), .help = "Run job with this user ID", .category = FIO_OPT_C_GENERAL, - .group = FIO_OPT_G_INVALID, + .group = FIO_OPT_G_CRED, }, { .name = "gid", @@ -2789,6 +2801,18 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .off1 = td_var_offset(gid), .help = "Run job with this group ID", .category = FIO_OPT_C_GENERAL, + .group = FIO_OPT_G_CRED, + }, + { + .name = "kb_base", + .lname = "KB Base", + .type = FIO_OPT_INT, + .off1 = td_var_offset(kb_base), + .verify = kb_base_verify, + .prio = 1, + .def = "1024", + .help = "How many bytes per KB for reporting (1000 or 1024)", + .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, {