+ .category = FIO_OPT_G_MISC | FIO_OPT_G_JOB,
+ },
+ {
+ .name = "cgroup",
+ .type = FIO_OPT_STR_STORE,
+ .off1 = td_var_offset(cgroup),
+ .help = "Add job to cgroup of this name",
+ .category = FIO_OPT_G_MISC | FIO_OPT_G_OS,
+ },
+ {
+ .name = "cgroup_weight",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(cgroup_weight),
+ .help = "Use given weight for cgroup",
+ .minval = 100,
+ .maxval = 1000,
+ .category = FIO_OPT_G_MISC | FIO_OPT_G_OS,
+ },
+ {
+ .name = "cgroup_nodelete",
+ .type = FIO_OPT_BOOL,
+ .off1 = td_var_offset(cgroup_nodelete),
+ .help = "Do not delete cgroups after job completion",
+ .def = "0",
+ .category = FIO_OPT_G_MISC | FIO_OPT_G_OS,
+ },
+ {
+ .name = "uid",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(uid),
+ .help = "Run job with this user ID",
+ .category = FIO_OPT_G_OS | FIO_OPT_G_JOB,
+ },
+ {
+ .name = "gid",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(gid),
+ .help = "Run job with this group ID",
+ .category = FIO_OPT_G_OS | FIO_OPT_G_JOB,
+ },
+ {
+ .name = "flow_id",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(flow_id),
+ .help = "The flow index ID to use",
+ .def = "0",
+ .category = FIO_OPT_G_IO,
+ },
+ {
+ .name = "flow",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(flow),
+ .help = "Weight for flow control of this job",
+ .parent = "flow_id",
+ .def = "0",
+ .category = FIO_OPT_G_IO,
+ },
+ {
+ .name = "flow_watermark",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(flow_watermark),
+ .help = "High watermark for flow control. This option"
+ " should be set to the same value for all threads"
+ " with non-zero flow.",
+ .parent = "flow_id",
+ .def = "1024",
+ .category = FIO_OPT_G_IO,
+ },
+ {
+ .name = "flow_sleep",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(flow_sleep),
+ .help = "How many microseconds to sleep after being held"
+ " back by the flow control mechanism",
+ .parent = "flow_id",
+ .def = "0",
+ .category = FIO_OPT_G_IO,