stonewall Wait for preceeding jobs in the job file to exit, before
starting this one. Can be used to insert serialization
- points in the job file.
+ points in the job file. A stone wall also implies starting
+ a new reporting group.
+
+new_group Start a new reporting group. If this option isn't given,
+ jobs in a file will be part of the same reporting group
+ unless seperated by a stone wall (or if it's a group
+ by itself, with the numjobs option).
numjobs=int Create the specified number of clones of this job. May be
used to setup a larger number of threads/processes doing
enum fio_memtype mem_type;
unsigned int stonewall;
+ unsigned int new_group;
unsigned int numjobs;
os_cpu_mask_t cpumask;
unsigned int iolog;
td->ts.slat_stat[0].min_val = td->ts.slat_stat[1].min_val = ULONG_MAX;
td->ts.bw_stat[0].min_val = td->ts.bw_stat[1].min_val = ULONG_MAX;
- if ((td->o.stonewall || td->o.numjobs > 1) && prev_group_jobs) {
+ if ((td->o.stonewall || td->o.numjobs > 1 || td->o.new_group)
+ && prev_group_jobs) {
prev_group_jobs = 0;
groupid++;
}
goto err;
}
- if (td->o.numjobs > 1) {
- groupid++;
- prev_group_jobs = 0;
- }
-
return 0;
err:
put_job(td);
.off1 = td_var_offset(stonewall),
.help = "Insert a hard barrier between this job and previous",
},
+ {
+ .name = "new_group",
+ .type = FIO_OPT_STR_SET,
+ .off1 = td_var_offset(new_group),
+ .help = "Mark the start of a new group (for reporting)",
+ },
{
.name = "thread",
.type = FIO_OPT_STR_SET,