On 2/1/22 06:13, Niklas Cassel wrote: > From: Niklas Cassel <niklas.cassel@xxxxxxx> > > Add examples of the new cmdprio_bssplit format to cmdprio-bssplit.fio. > > In this new format, a class and a level can be specified in the s/class/priority class s/level/priority level > cmdprio_bssplit entry itself. > > Add the new cmdprio_bssplit format examples as a new jobs, as the old s/a new jobs/new jobs > format is still supported. > > Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxx> > --- > examples/cmdprio-bssplit.fio | 39 ++++++++++++++++++++++++++++++------ > 1 file changed, 33 insertions(+), 6 deletions(-) > > diff --git a/examples/cmdprio-bssplit.fio b/examples/cmdprio-bssplit.fio > index 47e9a790..f3b2fac0 100644 > --- a/examples/cmdprio-bssplit.fio > +++ b/examples/cmdprio-bssplit.fio > @@ -1,17 +1,44 @@ > ; Randomly read/write a block device file at queue depth 16. > -; 40 % of read IOs are 64kB and 60% are 1MB. 100% of writes are 1MB. > -; 100% of the 64kB reads are executed at the highest priority and > -; all other IOs executed without a priority set. > [global] > filename=/dev/sda > direct=1 > write_lat_log=prio-run.log > log_prio=1 > - > -[randrw] > rw=randrw > -bssplit=64k/40:1024k/60,1024k/100 > 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 IOs 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 IOs 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 IOs 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 IOs 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 IOs 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 IOs 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 With the typos fixed, Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> -- Damien Le Moal Western Digital Research