Commit | Line | Data |
---|---|---|
63176c21 | 1 | ; Randomly read/write a block device file at queue depth 16. |
63176c21 DLM |
2 | [global] |
3 | filename=/dev/sda | |
4 | direct=1 | |
5 | write_lat_log=prio-run.log | |
6 | log_prio=1 | |
63176c21 | 7 | rw=randrw |
63176c21 DLM |
8 | ioengine=libaio |
9 | iodepth=16 | |
4927ccc9 NC |
10 | |
11 | ; Simple cmdprio_bssplit format. All non-zero percentage entries will | |
12 | ; use the same prio class and prio level defined by the cmdprio_class | |
13 | ; and cmdprio options. | |
14 | [cmdprio] | |
db7e983d | 15 | ; 40% of read I/Os are 64kB and 60% are 1MB. 100% of writes are 1MB. |
4927ccc9 | 16 | ; 100% of the 64kB reads are executed with prio class 1 and prio level 0. |
db7e983d | 17 | ; All other I/Os are executed without a priority set. |
4927ccc9 | 18 | bssplit=64k/40:1024k/60,1024k/100 |
63176c21 DLM |
19 | cmdprio_bssplit=64k/100:1024k/0,1024k/0 |
20 | cmdprio_class=1 | |
4927ccc9 NC |
21 | cmdprio=0 |
22 | ||
23 | ; Advanced cmdprio_bssplit format. Each non-zero percentage entry can | |
24 | ; use a different prio class and prio level (appended to each entry). | |
25 | [cmdprio-adv] | |
db7e983d | 26 | ; 40% of read I/Os are 64kB and 60% are 1MB. 100% of writes are 1MB. |
4927ccc9 NC |
27 | ; 25% of the 64kB reads are executed with prio class 1 and prio level 1, |
28 | ; 75% of the 64kB reads are executed with prio class 3 and prio level 2. | |
db7e983d | 29 | ; All other I/Os are executed without a priority set. |
4927ccc9 NC |
30 | stonewall |
31 | bssplit=64k/40:1024k/60,1024k/100 | |
32 | cmdprio_bssplit=64k/25/1/1:64k/75/3/2:1024k/0,1024k/0 | |
33 | ||
34 | ; Identical to the previous example, but with a default priority defined. | |
35 | [cmdprio-adv-def] | |
db7e983d | 36 | ; 40% of read I/Os are 64kB and 60% are 1MB. 100% of writes are 1MB. |
4927ccc9 NC |
37 | ; 25% of the 64kB reads are executed with prio class 1 and prio level 1, |
38 | ; 75% of the 64kB reads are executed with prio class 3 and prio level 2. | |
db7e983d | 39 | ; All other I/Os are executed with prio class 2 and prio level 7. |
4927ccc9 NC |
40 | stonewall |
41 | prioclass=2 | |
42 | prio=7 | |
43 | bssplit=64k/40:1024k/60,1024k/100 | |
44 | cmdprio_bssplit=64k/25/1/1:64k/75/3/2:1024k/0,1024k/0 | |
625b155d NC |
45 | |
46 | ; Example of how to use cmdprio_bssplit with Command Duration Limits (CDL) | |
47 | ; using I/O priority hints. The drive has to support CDL, and CDL has to be | |
48 | ; enabled in sysfs, otherwise the hints will not be sent down to the drive. | |
49 | [cmdprio-hints] | |
50 | ; 40% of the I/Os are 1MB reads and 60% of the I/Os are 2MB reads. | |
51 | ; | |
52 | ; 10% of the 1MB reads are executed with prio class 2 (Best Effort), | |
53 | ; prio level 0, and prio hint 1. Prio hint 1 means CDL descriptor 1. | |
54 | ; Since 40% of read I/Os are 1MB, and 10% of the 1MB I/Os use CDL desc 1, | |
55 | ; this means that 4% of all the issued I/O will use this configuration. | |
56 | ; | |
57 | ; 30% of the 1MB reads are executed with prio class 2 (Best Effort), | |
58 | ; prio level 0, and prio hint 2. Prio hint 2 means CDL descriptor 2. | |
59 | ; Since 40% of read I/Os are 1MB, and 30% of the 1MB I/Os use CDL desc 2, | |
60 | ; this means that 12% of all the issued I/O will use this configuration. | |
61 | ; | |
62 | ; 60% of the 1MB reads are executed with prio class 2 (Best Effort), | |
63 | ; prio level 0, and prio hint 0. Prio hint 0 means no hint. | |
64 | ; Since 40% of read I/Os are 1MB, and 60% of the 1MB I/Os use no hint, | |
65 | ; this means that 24% of all the issued I/O will use this configuration. | |
66 | ; | |
67 | ; 10% of the 2MB reads are executed with prio class 2 (Best Effort), | |
68 | ; prio level 0, and prio hint 3. Prio hint 3 means CDL descriptor 3. | |
69 | ; Since 60% of read I/Os are 2MB, and 10% of the 2MB I/Os use CDL desc 3, | |
70 | ; this means that 6% of all the issued I/O will use this configuration. | |
71 | ; | |
72 | ; 90% of the 2MB reads are executed with prio class 2 (Best Effort), | |
73 | ; prio level 0, and prio hint 0. Prio hint 0 means no hint. | |
74 | ; Since 60% of read I/Os are 2MB, and 90% of the 2MB I/Os use no hint, | |
75 | ; this means that 54% of all the issued I/O will use this configuration. | |
76 | stonewall | |
77 | rw=randread | |
78 | bssplit=1M/40:2M/60 | |
79 | cmdprio_bssplit=1M/10/2/0/1:1M/30/2/0/2:1M/60/2/0/0:2M/10/2/0/3:2M/90/2/0/0 |