Re: [Qemu-devel] Re: [PATCH 1/3] Refactor AIO interface to allow other AIO implementations

Anthony Liguori
2008-04-22T14:53:13Z

Jamie Lokier wrote:
> Avi Kivity wrote:
>
>>> And video streaming on some embedded devices with no MMU! (Due to the
>>> page cache heuristics working poorly with no MMU, sustained reliable
>>> streaming is managed with O_DIRECT and the app managing cache itself
>>> (like a database), and that needs AIO to keep the request queue busy.
>>> At least, that's the theory.)
>>>
>> Could use threads as well, no?
>>
>
> Perhaps. This raises another point about AIO vs. threads:
>
> If I submit sequential O_DIRECT reads with aio_read(), will they enter
> the device read queue in the same order, and reach the disk in that
> order (allowing for reordering when worthwhile by the elevator)?
>

There's no guarantee that any sort of order will be preserved by AIO
requests. The same is true with writes. This is what fdsync is for, to
guarantee ordering.

Regards,

Anthony Liguori