I read 2 posts related to Linux AIO (native AIO).
It's important to note the
iocb
requests passed to kernel are evaluated in-order sequentially.
io_submit
allows an array of pointers tostruct iocbs
to be submitted all at once. In this function call,nr
is the length of theios
array. If multiple operations are sent in one array, then no ordering guarantees are given between theiocb
s.
The 2. article uses #include <liaio.h>
and as far as I know, it's merely a wrapper of Linux AIO system calls. So I am confused why one of the articles says "in-order" while another says "no ordering guarantees"?
Which description is wrong? It would be appreciated if someone could provide a code snippet to test.