X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=options.c;h=a0461d3b88db9527c2023179ea641f7e73d0219a;hb=09ad20ff60eb8c11edf407c4060062dae187f5e7;hp=c3fdb56314a5007c00bab2bdee57817816c9e9ee;hpb=9a2a86d0f6f1425a6da666459ccd379e356a30d0;p=fio.git diff --git a/options.c b/options.c index c3fdb563..a0461d3b 100644 --- a/options.c +++ b/options.c @@ -160,7 +160,6 @@ static int bssplit_ddir(struct thread_data *td, int ddir, char *str) qsort(bssplit, td->o.bssplit_nr[ddir], sizeof(struct bssplit), bs_cmp); td->o.bssplit[ddir] = bssplit; return 0; - } static int str_bssplit_cb(void *data, const char *input) @@ -245,12 +244,9 @@ static int str_verify_cb(void *data, const char *mem) { struct thread_data *td = data; - if (td->o.verify != VERIFY_CRC32C_INTEL) - return 0; - - if (!crc32c_intel_works()) { - log_info("fio: System does not support hw accelerated crc32c. Falling back to sw crc32c.\n"); - td->o.verify = VERIFY_CRC32C; + if (td->o.verify == VERIFY_CRC32C_INTEL || + td->o.verify == VERIFY_CRC32C) { + crc32c_intel_probe(); } return 0; @@ -1482,12 +1478,12 @@ static struct fio_option options[FIO_MAX_OPTS] = { .help = "Use crc32 checksums for verification", }, { .ival = "crc32c-intel", - .oval = VERIFY_CRC32C_INTEL, - .help = "Use hw crc32c checksums for verification", + .oval = VERIFY_CRC32C, + .help = "Use crc32c checksums for verification (hw assisted, if available)", }, { .ival = "crc32c", .oval = VERIFY_CRC32C, - .help = "Use crc32c checksums for verification", + .help = "Use crc32c checksums for verification (hw assisted, if available)", }, { .ival = "crc16", .oval = VERIFY_CRC16, @@ -2169,6 +2165,40 @@ static struct fio_option options[FIO_MAX_OPTS] = { .off1 = td_var_offset(gid), .help = "Run job with this group ID", }, + { + .name = "flow_id", + .type = FIO_OPT_INT, + .off1 = td_var_offset(flow_id), + .help = "The flow index ID to use", + .def = "0", + }, + { + .name = "flow", + .type = FIO_OPT_INT, + .off1 = td_var_offset(flow), + .help = "Weight for flow control of this job", + .parent = "flow_id", + .def = "0", + }, + { + .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", + }, + { + .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", + }, { .name = NULL, },