On 9/24/21 4:21 PM, Denis Kenzior wrote:
> I started testing the aio interface for ell and it seems to work,
> except it's not asynchronous. Turns out libaio works only under
> certain circumstances:
yes, this was a widely reported criticism. I assume O_DIRECT is not
applicable to your use case?
I tried to open the file with O_DIRECT, but still got no asynchronous
operations. I don't know what the problem was, NVMe, btrfs, ... also I
tried it on an usb stick with FAT32. Anyway, if it's only working under
certain conditions it's useless and dangerous for real time
applications. I can't expect the user of my aio interface to be an
expert in Linux filesystems and knowing all the restrictions of aio.
Honestly, for ell, io_uring would be much more interesting to support.
With maybe a fallback to aio or a threaded/blocking implementation for
I might write an io_uring implementation in the future. But since
io_uring is not available on my target system, I have to stick with
POSIX AIO. A lot of Linux BSPs are only available for outdated kernel.