Re: Fio docs say io_submit_mode=offload with async IO is not reliable?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 8, 2022 at 2:12 PM Niklas Cassel <Niklas.Cassel@xxxxxxx> wrote:
> Original commit disallowed offload for all async ioengines:
> https://git.kernel.dk/cgit/fio/commit/?id=abfd235a05330eae8444f0e4c0039bbdf9f160a3
>
> Later it was changed to be disallowed only for io_uring:
> https://git.kernel.dk/cgit/fio/commit/?id=8bfe330eb42739d503d35d0b7d96f98c5c544204
>
> So I assume that offload works fine with libaio.
>
> Perhaps the HOWTO, man page, and the comment in check_engine_ops()
> should simply be updated?
>
>
> Kind regards,
> Niklas

Ah, thank you very much for finding and sharing those. That is very
helpful. If Jens or Jeff Furlong has any memories of some of the cases
with io_uring that are problematic, it would be great to know - I
could include mention of them while updating the howto/man/comment
Niklas mentioned.

At a higher level, would it be considered "unusual" or "non-standard"
to use offload with libaio (or really any async engine)? I guess in
some sense it is, because when your using offload, you've got a pool
of iodepth threads/workers running to perform the io, so using libaio
is not going to help those workers, but will really just be adding
another layer of async overhead after the async interface already
provided by the offload pool. Further, a real world app that is using
a threadpool to handle its IO is probably not using libaio as well.
Does that line of thinking (async engine with offload option is
unusual) make sense?

Thanks,
Nick



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux