Hi, On Fri, 24 May 2019 at 13:36, <Kurt.Dorsey@xxxxxxxx> wrote: > > Hello, > > I am looking to do reverse sequential IO and am having some issues. > > Per the man page and docs this is the job I am using, utilizing the read:-64K Read 32K then backtrack 64K > > fio --group_reporting=1 --name=reverse_seq --filename=/dev/sdb --iodepth=1 --rw=read:-64K --offset=1024K --rwmixwrite=0 --bs=32K --description=32K_Reverse_Seq --random_generator=tausworthe64 --randrepeat=1 --numjobs=1 --ba=4K --ioengine=libaio --direct=1 > > Looking at the block trace it is definitely doing a reverse sequential but it is starting at the LAST LBA of the device and working backwards to 0. > 8,16 17 1 0.000000000 58480 Q R 21781364224 + 64 [fio] > 8,16 19 1 0.008029219 0 C R 21781364224 + 64 [0] > 8,16 19 2 0.008062815 58480 Q R 21781364160 + 64 [fio] > 8,16 0 1 0.008550943 0 C R 21781364160 + 64 [0] > 8,16 0 2 0.008599707 58480 Q R 21781364096 + 64 [fio] > > Unfortunately it doesn't look like --offset is doing what I wanted. Looking at the man page --offset will not work in this instance "Data before the given offset will not be touched." > > Since there is a difference on Sequential (and Reverse Sequential) Performance for HDDs depending on if you are working on the ID or OD I need to give an offset to the job and then have it work backwards from that offset to 0 rather than work back from Max LBA to 0. > > Is there a way to do this or add this functionality? It sounds like what you want is to control the end range/area fio is working in... Since fio works in terms of bytes rather than LBAs have you looked into using size (https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-size) which I think is mentioned in the fio man page documentation for offset (https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-offset )? -- Sitsofe | http://sucs.org/~sits/