* Multiple jobs and fill_device
@ 2019-12-25 9:11 Oleg Sivokon
2019-12-29 21:09 ` Sitsofe Wheeler
0 siblings, 1 reply; 2+ messages in thread
From: Oleg Sivokon @ 2019-12-25 9:11 UTC (permalink / raw)
To: fio
Hello list,
I'm wondering how the configuration below is interpreted:
[global]
ioengine=libaio
direct=1
loops=1
numjobs=8
[write-prep]
rw=write
filename=/dev/sdb
iodepth=16
bs=16k
fill_device=1
stonewall=1
Will every one of the 8 jobs try to fill the device completely or will
they split the task of filling the device between themselves, where each
will do only 1/8 of filling the device? My reading of documentation
seems to suggest the device will be filled 8 times, with jobs, possibly,
stepping on each other's toes (i.e. contesting the same block), but I'm
not sure.
Best.
Oleg
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Multiple jobs and fill_device
2019-12-25 9:11 Multiple jobs and fill_device Oleg Sivokon
@ 2019-12-29 21:09 ` Sitsofe Wheeler
0 siblings, 0 replies; 2+ messages in thread
From: Sitsofe Wheeler @ 2019-12-29 21:09 UTC (permalink / raw)
To: Oleg Sivokon; +Cc: fio
Hi,
On Wed, 25 Dec 2019 at 09:12, Oleg Sivokon <oleg.sivokon@replix.io> wrote:
>
> Hello list,
>
> I'm wondering how the configuration below is interpreted:
>
> [global]
> ioengine=libaio
> direct=1
> loops=1
> numjobs=8
>
> [write-prep]
> rw=write
> filename=/dev/sdb
> iodepth=16
> bs=16k
> fill_device=1
> stonewall=1
>
> Will every one of the 8 jobs try to fill the device completely or will
Yes the device will be filled but not due to fill_device=1.
Confusingly fill_device is actually meant for when you are creating
files on filesystems where you want the file to use up all the
remaining space
(https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-fill-device
says this a different way). A file representing a device will already
have a fixed size that can't be grown by just writing to it (OK
there's thin provisioning but even there the "device" has a fixed size
ahead of time). When a file already has a size that is what is used
when "size" is not set (see
https://fio.readthedocs.io/en/latest/fio_man.html#cmdoption-arg-size
).
> they split the task of filling the device between themselves, where each
> will do only 1/8 of filling the device? My reading of documentation
No they will all overwrite/overlap the same areas.
> seems to suggest the device will be filled 8 times, with jobs, possibly,
> stepping on each other's toes (i.e. contesting the same block), but I'm
> not sure.
Your reading is correct - they will step on each others toes. If you
want to somehow avoid this you'll have to look into offset_increment
(https://fio.readthedocs.io/en/latest/fio_man.html#cmdoption-arg-offset-increment
) and size (https://fio.readthedocs.io/en/latest/fio_man.html#cmdoption-arg-size
).
NB: stonewall=1 likely won't do anything in this case because no job
definition is "after" another when using numjobs within the same job.
--
Sitsofe | http://sucs.org/~sits/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-12-29 21:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-25 9:11 Multiple jobs and fill_device Oleg Sivokon
2019-12-29 21:09 ` Sitsofe Wheeler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.