cmdprio: Add support for per I/O priority hint
[fio.git] / engines / cmdprio.h
index 2c9d87bc2f923bd74e225b2f4f897f1c68753a2a..81e6c390f0a880543bb9f4d3bc0f4baab8c12188 100644 (file)
@@ -40,6 +40,7 @@ struct cmdprio_options {
        unsigned int percentage[CMDPRIO_RWDIR_CNT];
        unsigned int class[CMDPRIO_RWDIR_CNT];
        unsigned int level[CMDPRIO_RWDIR_CNT];
+       unsigned int hint[CMDPRIO_RWDIR_CNT];
        char *bssplit_str;
 };
 
@@ -74,6 +75,21 @@ struct cmdprio_options {
                .category = FIO_OPT_C_ENGINE,                                   \
                .group  = opt_group,                                            \
        },                                                                      \
+       {                                                                       \
+               .name   = "cmdprio_hint",                                       \
+               .lname  = "Asynchronous I/O priority hint",                     \
+               .type   = FIO_OPT_INT,                                          \
+               .off1   = offsetof(opt_struct,                                  \
+                                  cmdprio_options.hint[DDIR_READ]),            \
+               .off2   = offsetof(opt_struct,                                  \
+                                  cmdprio_options.hint[DDIR_WRITE]),           \
+               .help   = "Set asynchronous IO priority hint",                  \
+               .minval = IOPRIO_MIN_PRIO_HINT,                                 \
+               .maxval = IOPRIO_MAX_PRIO_HINT,                                 \
+               .interval = 1,                                                  \
+               .category = FIO_OPT_C_ENGINE,                                   \
+               .group  = opt_group,                                            \
+       },                                                                      \
        {                                                                       \
                .name   = "cmdprio",                                            \
                .lname  = "Asynchronous I/O priority level",                    \
@@ -112,6 +128,12 @@ struct cmdprio_options {
                .type   = FIO_OPT_UNSUPPORTED,                                  \
                .help   = "Platform does not support I/O priority classes",     \
        },                                                                      \
+       {                                                                       \
+               .name   = "cmdprio_hint",                                       \
+               .lname  = "Asynchronous I/O priority hint",                     \
+               .type   = FIO_OPT_UNSUPPORTED,                                  \
+               .help   = "Platform does not support I/O priority classes",     \
+       },                                                                      \
        {                                                                       \
                .name   = "cmdprio",                                            \
                .lname  = "Asynchronous I/O priority level",                    \