Re: large page patch (fwd) (fwd)

Hubertus Franke
2002-08-03T21:49:52Z

On Saturday 03 August 2002 05:26 pm, David Mosberger wrote:
> >>>>> On Sat, 3 Aug 2002 16:53:39 -0400, Hubertus Franke
> >>>>> <frankeh@watson.ibm.com> said:
>
> Hubertus> Cool. Does that mean that BSD already has page coloring
> Hubertus> implemented ?
>
> FreeBSD (at least on Alpha) makes some attempts at page-coloring, but
> it's said to be far from perfect.
>
> Hubertus> The agony is: Page Coloring helps to reduce cache
> Hubertus> conflicts in low associative caches while large pages may
> Hubertus> reduce TLB overhead.
>
> Why agony? The latter helps the TLB _and_ solves the page coloring
> problem (assuming the largest page size is bigger than the largest
> cache; yeah, I see that could be a problem on some Power 4
> machines... ;-)
>

In essense, remember page coloring preserves the same bits used
for cache indexing from virtual to physical. If these bits are covered
by the large page, then ofcourse you will get page coloring for free
otherwise you won't.
Also, page coloring is mainly helpful in low associativity caches.
>From my recollection of the literature, for 4-way or higher its not
worth the trouble.

Just to rephrase:
- Large pages almost always solve your page coloring problem.
- Page coloring never solves your TLB coverage problem.

> Hubertus> One shouldn't rule out one for the other, there is a place
> Hubertus> for both.
>
> Hubertus> How did you arrive to the (weak) empirical evidence? You
> Hubertus> checked TLB misses and cache misses and turned page
> Hubertus> coloring on and off and large pages on and off?
>
> Yes, that's basically what we did (there is a patch implementing a
> page coloring kernel module floating around).
>
> --david

--
-- Hubertus Franke (frankeh@watson.ibm.com)