[lkml]   [2002]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Heuristic readahead for filesystems

Oliver Neukum wrote:

> > In theory, this also could be implemented explicitly if the application
> > could tell the kernel "I'm going to read these 100 files in the very
> > near future, please make them ready for me". But wait, maybe the
> > application can do this (for regular files, not for directory entries
> > and stat() data): Could it be efficient if the application used
> > open(file,O_NONBLOCK) for the next 100 files and subsequent read()s on
> > each of the returned filedescriptors?
> What do you want to trigger the reading ahead, open() or read() ?

As open() immediately returns, it does not matter by which call the readahead is
triggered. But I'm unsure about wether it is triggered at all for the amount of
data the read() requested.

> Please correct me, if I am wrong, but wouldn't read() block ?

AFAIK, "man open" tells

int open(const char *pathname, int flags);
The file is opened in non-blocking mode. Neither the open nor any
__subsequent__ operations on the file descriptor
which is returned will cause the calling process to wait.

So read won't block if the file has been opened with O_NONBLOCK.

> Aio should be able to do it. But even that want help you with the stat data.

Aio would help me announcing stat() usage for the future?

> Regards
> Oliver


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:28    [W:0.127 / U:7.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site