1 /*
2  * QEMU throttling command line options
3  *
4  * This work is licensed under the terms of the GNU GPL, version 2 or
5  * (at your option) any later version.
6  *
7  * See the COPYING file in the top-level directory for details.
8  *
9  */
10 #ifndef THROTTLE_OPTIONS_H
11 #define THROTTLE_OPTIONS_H
12 
13 #define QEMU_OPT_IOPS_TOTAL "iops-total"
14 #define QEMU_OPT_IOPS_TOTAL_MAX "iops-total-max"
15 #define QEMU_OPT_IOPS_TOTAL_MAX_LENGTH "iops-total-max-length"
16 #define QEMU_OPT_IOPS_READ "iops-read"
17 #define QEMU_OPT_IOPS_READ_MAX "iops-read-max"
18 #define QEMU_OPT_IOPS_READ_MAX_LENGTH "iops-read-max-length"
19 #define QEMU_OPT_IOPS_WRITE "iops-write"
20 #define QEMU_OPT_IOPS_WRITE_MAX "iops-write-max"
21 #define QEMU_OPT_IOPS_WRITE_MAX_LENGTH "iops-write-max-length"
22 #define QEMU_OPT_BPS_TOTAL "bps-total"
23 #define QEMU_OPT_BPS_TOTAL_MAX "bps-total-max"
24 #define QEMU_OPT_BPS_TOTAL_MAX_LENGTH "bps-total-max-length"
25 #define QEMU_OPT_BPS_READ "bps-read"
26 #define QEMU_OPT_BPS_READ_MAX "bps-read-max"
27 #define QEMU_OPT_BPS_READ_MAX_LENGTH "bps-read-max-length"
28 #define QEMU_OPT_BPS_WRITE "bps-write"
29 #define QEMU_OPT_BPS_WRITE_MAX "bps-write-max"
30 #define QEMU_OPT_BPS_WRITE_MAX_LENGTH "bps-write-max-length"
31 #define QEMU_OPT_IOPS_SIZE "iops-size"
32 #define QEMU_OPT_THROTTLE_GROUP_NAME "throttle-group"
33 
34 #define THROTTLE_OPT_PREFIX "throttling."
35 #define THROTTLE_OPTS \
36           { \
37             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_TOTAL,\
38             .type = QEMU_OPT_NUMBER,\
39             .help = "limit total I/O operations per second",\
40         },{ \
41             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_READ,\
42             .type = QEMU_OPT_NUMBER,\
43             .help = "limit read operations per second",\
44         },{ \
45             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_WRITE,\
46             .type = QEMU_OPT_NUMBER,\
47             .help = "limit write operations per second",\
48         },{ \
49             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_TOTAL,\
50             .type = QEMU_OPT_NUMBER,\
51             .help = "limit total bytes per second",\
52         },{ \
53             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_READ,\
54             .type = QEMU_OPT_NUMBER,\
55             .help = "limit read bytes per second",\
56         },{ \
57             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_WRITE,\
58             .type = QEMU_OPT_NUMBER,\
59             .help = "limit write bytes per second",\
60         },{ \
61             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_TOTAL_MAX,\
62             .type = QEMU_OPT_NUMBER,\
63             .help = "I/O operations burst",\
64         },{ \
65             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_READ_MAX,\
66             .type = QEMU_OPT_NUMBER,\
67             .help = "I/O operations read burst",\
68         },{ \
69             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_WRITE_MAX,\
70             .type = QEMU_OPT_NUMBER,\
71             .help = "I/O operations write burst",\
72         },{ \
73             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_TOTAL_MAX,\
74             .type = QEMU_OPT_NUMBER,\
75             .help = "total bytes burst",\
76         },{ \
77             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_READ_MAX,\
78             .type = QEMU_OPT_NUMBER,\
79             .help = "total bytes read burst",\
80         },{ \
81             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_WRITE_MAX,\
82             .type = QEMU_OPT_NUMBER,\
83             .help = "total bytes write burst",\
84         },{ \
85             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_TOTAL_MAX_LENGTH,\
86             .type = QEMU_OPT_NUMBER,\
87             .help = "length of the iops-total-max burst period, in seconds",\
88         },{ \
89             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_READ_MAX_LENGTH,\
90             .type = QEMU_OPT_NUMBER,\
91             .help = "length of the iops-read-max burst period, in seconds",\
92         },{ \
93             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_WRITE_MAX_LENGTH,\
94             .type = QEMU_OPT_NUMBER,\
95             .help = "length of the iops-write-max burst period, in seconds",\
96         },{ \
97             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_TOTAL_MAX_LENGTH,\
98             .type = QEMU_OPT_NUMBER,\
99             .help = "length of the bps-total-max burst period, in seconds",\
100         },{ \
101             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_READ_MAX_LENGTH,\
102             .type = QEMU_OPT_NUMBER,\
103             .help = "length of the bps-read-max burst period, in seconds",\
104         },{ \
105             .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_WRITE_MAX_LENGTH,\
106             .type = QEMU_OPT_NUMBER,\
107             .help = "length of the bps-write-max burst period, in seconds",\
108         },{ \
109             .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_SIZE,\
110             .type = QEMU_OPT_NUMBER,\
111             .help = "when limiting by iops max size of an I/O in bytes",\
112         }
113 
114 #endif
115