I read 2 posts related to Linux AIO (native AIO).
It's important to note the
iocbrequests passed to kernel are evaluated in-order sequentially.
io_submitallows an array of pointers tostruct iocbsto be submitted all at once. In this function call,nris the length of theiosarray. If multiple operations are sent in one array, then no ordering guarantees are given between theiocbs.
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.