Re: Heuristic readahead for filesystems

From: Tomas Szepe (szepe@pinerecords.com)
Date: Wed Sep 11 2002 - 14:03:37 EST


> > I wonder wether Linux implements a kind of heuristic
> > readahead for filesystems:
>
> > If an application did a stat()..open()..read() sequence on a
> > file, it is likely that, after the next stat(), it will open
> > and read the mentioned file. Thus, one could readahead the
> > start of a file on stat() of that file.
>
> > Example: See this diff strace:
>
> Your observation is right, but I'm not sure how much it will
> matter if we start reading the file at stat() time or at
> read() time.
>
> This is because one disk seek takes about 10 million CPU
> cycles on modern systems and we'll have completed the stat(),
> open() and started the read() before the disk arm has started
> moving ;)

Please correct me if I'm missing something: I tend to assume
that if the cost of the disk seek is known to be a relatively
huge value, a fraction of it could be used as a timeout for disk
read request reordering with performance not deteriorating (except
for the heuristics overhead of course). I.e., if some code in the
block layer were able to detect a lot of "parallel yet sequential"
reads were going on, the amount of seeks could be minimized for
the price of the final timeout.

T.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Sep 15 2002 - 22:00:26 EST