From 625b155dcd3d56595ced60806e091126446c1e08 Mon Sep 17 00:00:00 2001 From: Niklas Cassel Date: Fri, 26 Jan 2024 19:13:53 +0100 Subject: [PATCH] examples: cmdprio_bssplit: add CDL example Add an example of how to use cmdprio_bssplit with Command Duration Limits. Signed-off-by: Niklas Cassel Link: https://lore.kernel.org/r/20240126181353.4151771-2-cassel@kernel.org Signed-off-by: Vincent Fu --- examples/cmdprio-bssplit.fio | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/examples/cmdprio-bssplit.fio b/examples/cmdprio-bssplit.fio index 05f0d0b2..ee202d74 100644 --- a/examples/cmdprio-bssplit.fio +++ b/examples/cmdprio-bssplit.fio @@ -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 -- 2.25.1