[Lustre-devel] read ahead

Oleg Drokin Oleg.Drokin at Sun.COM
Thu Dec 13 07:23:22 PST 2007


Hello!

On Dec 13, 2007, at 10:15 AM, chas williams - CONTRACTOR wrote:

>> Yes it is.
>> DIRECT IO by it's nature is "direct", i.e. it gets straight into
>> application buffers,
>> we are not to put any more data there than application said it can
>> accept.
> i agree with this interpretation of O_DIRECT.
>
>> And we are not allowed to cache any of that data (or to use any cache
>> to get
>> the data during reads) too.
> this seems a bit stricter than i would expect.  while i would expect
> O_DIRECT to bypass the kernel readahead mechanism, i think that  
> lustre's
> readahead is outside of the scope of O_DIRECT.

While technically nothing prevents us from reading some more stuff  
into client
cache (we cannot do any readahead into applications buffers for  
obvious reasons)
with readahead after genuine directio request, we cannot use the cache
for directio requests, so if next read request comes in directio mode,  
we MUST
bypass cache and the whole purpose of readahead is therefore defeated.

Bye,
     Oleg




More information about the lustre-devel mailing list