Re: Lockless page cache test results

Andrew Morton
2006-04-26T20:09:38Z

Jens Axboe <axboe@suse.de> wrote:
>
> With a 16-page gang lookup in splice, the top profile for the 4-client
> case (which is now at 4GiB/sec instead of 3) are:
>
> samples % symbol name
> 30396 36.7217 __do_page_cache_readahead
> 25843 31.2212 find_get_pages_contig
> 9699 11.7174 default_idle

__do_page_cache_readahead() should use gang lookup. We never got around to
that, mainly because nothing really demonstrated a need.

It's a problem that __do_page_cache_readahead() is being called at all -
with everything in pagecache we should be auto-turning-off readahead. This
happens because splice is calling the low-level do_pagecache_readahead().
If you convert it to use page_cache_readahead(), that will all vanish if
readahead is working right.