On Tue, May 04, 2004 at 01:47:29AM -0700, Andrew Morton wrote: > Arjan van de Ven wrote: > > > > > > > > > > That would cause the kernel to perform lots of pointless pagecache lookups > > > when the file is already 100% cached. > > > > well surely the read itself will do those AGAIN anyway, so in the fully > > cached case this is just warming up the cpu cache ;) (and thus really > > cheap as nett cost I suspect) > > Probably true for x86, but the cost is noticeable on ppc64, for example. > Anton fixed some things in there shortly after it went in, but it's still > apparent on profiles. well do the profiles also show that the actual later lookup becomes near free due to a warm cpu cache? > > We could perhaps speed things up a little bit by using gang lookup in both > __do_page_cache_readahead() and in do_generic_file_read(). or go into the readahead path only when the first miss occurs; for the fully cached case you can then avoid the cost while when you're doing IO, well, a few premature cache misses...