Re: Random file I/O regressions in 2.6

From: Arjan van de Ven
Date: Tue May 04 2004 - 03:53:36 EST


On Tue, May 04, 2004 at 01:47:29AM -0700, Andrew Morton wrote:
> Arjan van de Ven <arjanv@xxxxxxxxxx> 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...

Attachment: pgp00000.pgp
Description: PGP signature