File: cmdprio-bssplit.fio

package info (click to toggle)
fio 3.41-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,012 kB
  • sloc: ansic: 82,290; python: 9,862; sh: 6,067; makefile: 813; yacc: 204; lex: 184
file content (79 lines) | stat: -rw-r--r-- 3,494 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
; Randomly read/write a block device file at queue depth 16.
[global]
filename=/dev/sda
direct=1
write_lat_log=prio-run.log
log_prio=1
rw=randrw
ioengine=libaio
iodepth=16

; Simple cmdprio_bssplit format. All non-zero percentage entries will
; use the same prio class and prio level defined by the cmdprio_class
; and cmdprio options.
[cmdprio]
; 40% of read I/Os are 64kB and 60% are 1MB. 100% of writes are 1MB.
; 100% of the 64kB reads are executed with prio class 1 and prio level 0.
; All other I/Os are executed without a priority set.
bssplit=64k/40:1024k/60,1024k/100
cmdprio_bssplit=64k/100:1024k/0,1024k/0
cmdprio_class=1
cmdprio=0

; Advanced cmdprio_bssplit format. Each non-zero percentage entry can
; use a different prio class and prio level (appended to each entry).
[cmdprio-adv]
; 40% of read I/Os are 64kB and 60% are 1MB. 100% of writes are 1MB.
; 25% of the 64kB reads are executed with prio class 1 and prio level 1,
; 75% of the 64kB reads are executed with prio class 3 and prio level 2.
; All other I/Os are executed without a priority set.
stonewall
bssplit=64k/40:1024k/60,1024k/100
cmdprio_bssplit=64k/25/1/1:64k/75/3/2:1024k/0,1024k/0

; Identical to the previous example, but with a default priority defined.
[cmdprio-adv-def]
; 40% of read I/Os are 64kB and 60% are 1MB. 100% of writes are 1MB.
; 25% of the 64kB reads are executed with prio class 1 and prio level 1,
; 75% of the 64kB reads are executed with prio class 3 and prio level 2.
; All other I/Os are executed with prio class 2 and prio level 7.
stonewall
prioclass=2
prio=7
bssplit=64k/40:1024k/60,1024k/100
cmdprio_bssplit=64k/25/1/1:64k/75/3/2:1024k/0,1024k/0

; Example of how to use cmdprio_bssplit with Command Duration Limits (CDL)
; using I/O priority hints. The drive has to support CDL, and CDL has to be
; enabled in sysfs, otherwise the hints will not be sent down to the drive.
[cmdprio-hints]
; 40% of the I/Os are 1MB reads and 60% of the I/Os are 2MB reads.
;
; 10% of the 1MB reads are executed with prio class 2 (Best Effort),
; prio level 0, and prio hint 1. Prio hint 1 means CDL descriptor 1.
; Since 40% of read I/Os are 1MB, and 10% of the 1MB I/Os use CDL desc 1,
; this means that 4% of all the issued I/O will use this configuration.
;
; 30% of the 1MB reads are executed with prio class 2 (Best Effort),
; prio level 0, and prio hint 2. Prio hint 2 means CDL descriptor 2.
; Since 40% of read I/Os are 1MB, and 30% of the 1MB I/Os use CDL desc 2,
; this means that 12% of all the issued I/O will use this configuration.
;
; 60% of the 1MB reads are executed with prio class 2 (Best Effort),
; prio level 0, and prio hint 0. Prio hint 0 means no hint.
; Since 40% of read I/Os are 1MB, and 60% of the 1MB I/Os use no hint,
; this means that 24% of all the issued I/O will use this configuration.
;
; 10% of the 2MB reads are executed with prio class 2 (Best Effort),
; prio level 0, and prio hint 3. Prio hint 3 means CDL descriptor 3.
; Since 60% of read I/Os are 2MB, and 10% of the 2MB I/Os use CDL desc 3,
; this means that 6% of all the issued I/O will use this configuration.
;
; 90% of the 2MB reads are executed with prio class 2 (Best Effort),
; prio level 0, and prio hint 0. Prio hint 0 means no hint.
; Since 60% of read I/Os are 2MB, and 90% of the 2MB I/Os use no hint,
; this means that 54% of all the issued I/O will use this configuration.
stonewall
rw=randread
bssplit=1M/40:2M/60
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