Re: [PATCH 12/33] readahead: min/max sizes

Wu Fengguang
2006-05-25T12:12:09Z

On Thu, May 25, 2006 at 02:50:59PM +1000, Nick Piggin wrote:
> Wu Fengguang wrote:
>
> >- Enlarge VM_MAX_READAHEAD to 1024 if new read-ahead code is compiled in.
> > This value is no longer tightly coupled with the thrashing problem,
> > therefore constrained by it. The adaptive read-ahead logic merely takes
> > it as an upper bound, and will not stick to it under memory pressure.
> >
>
> I guess this size enlargement is one of the main reasons your
> patchset improves performance in some cases.

Sure, I started the patch to fulfill the 1M _default_ size dream ;-)
The majority users will never enjoy the performance improvement if
ever we stick to 128k default size. And it won't be possible for the
current readahead logic, since it lacks basic thrashing protection
mechanism.

> There is currently some sort of thrashing protection in there.
> Obviously you've found it to be unable to cope with some situations
> and introduced a lot of really fancy stuff to fix it. Are these just
> academic access patterns, or do you have real test cases that
> demonstrate this failure (ie. can we try to incrementally improve
> the current logic as well as work towards merging your readahead
> rewrite?)

But to be serious, in the progress I realized that it's much more
beyond the max readahead size. The fancy features are more coming out
of _real_ needs than to fulfill academic goals. I've seen real world
improvements from desktop/file server/backup server/database users
for most of the implemented features.

Wu