Skip to content

Commit

Permalink
examples: cmdprio_bssplit: add CDL example
Browse files Browse the repository at this point in the history
Add an example of how to use cmdprio_bssplit with Command Duration Limits.

Signed-off-by: Niklas Cassel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Vincent Fu <[email protected]>
  • Loading branch information
floatious authored and vincentkfu committed Jan 27, 2024
1 parent db7e983 commit 625b155
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions examples/cmdprio-bssplit.fio
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,38 @@ 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

0 comments on commit 625b155

Please sign in to comment.