Re: clustering page-ins

Jamie Lokier (lkd@tantalophile.demon.co.uk)
Tue, 20 Jul 1999 01:31:18 +0200


Rik van Riel wrote:
> By defining the top and bottom 1/8th of each zone a 'border'
> page and loading the next zone when a page in the border zone
> is loaded (AND the requested page is already in memory, meaning
> we have already done readahead on the current zone and it proved
> to be succesful), THEN we read in the zone nextdoor.
>
> Because the previous readahead was (apparently) succesful, we
> know we have a large chance of reading in data we will actually
> need PLUS the algorithm works for both read-ahead and read-behind
> (and zoned data files where the zones exceed cluster size).

Yes this is exactly what I'm describing except that I only bothered with
the readahead case, not readbehind, and I mention self-tuning the
cluster size, since this is not the same as the optimal size for random
access and it depends on how fast the process is sweeping the address
space.

Having two zones instead of one introduces another test into the soft
fault fast path, which is bad. If we keep the clusters aligned, we
could introduce a new page bit which is only set for pages that can
possibly be in those boundary zones. Use that to short-circuit the
longer tests for most soft fault pages.

-- Jamie

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/