Messages in this thread |  | | | Date | Tue, 4 May 2004 10:50:51 +0200 | | From | Arjan van de Ven <> | | Subject | Re: Random file I/O regressions in 2.6 | |
On Tue, May 04, 2004 at 01:47:29AM -0700, Andrew Morton wrote:
> Arjan van de Ven <arjanv@redhat.com> 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...
[unhandled content-type:application/pgp-signature] |  |