Messages in this thread |  | | Date | Wed, 11 Sep 2002 21:03:37 +0200 | From | Tomas Szepe <> | Subject | Re: Heuristic readahead for filesystems |
| |
> > 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/
|  |