Re: page coloring

Rik van Riel (
Sat, 2 May 1998 04:13:23 +0200 (MET DST)

On 2 May 1998, Andi Kleen wrote:

> Implementing page colouring into the underlying buddy page allocator
> was tried, but given up because it actually slowed down some things and
> leads to bad fragmentation [it is probably required to replace the simply
> and fast buddy allocator with a more sophisticated zone allocator to
> prevent fragmentation].

Now that we speak of it, does anybody have some pointers
to documents about zone allocators, or does someone have
some nice & simple algoritms in mind?

Some of the things that come to mind:
- use 128K (or 512K) zones
- allocate non-swappable and swappable stuff in separate zones
- allocate 4-page and bigger stuff in a separate zone from 1-page
- use page coloring on >16M machines, we allocate 8 zones for
user-stuff at a time and switch zones after every allocation
- inside zones, we could use a buddy-like scheme, but that
probably isn't needed
- we fill up each zone as much as possible before allocating
a new (batch of) zone(s)
- there's a large penalty involved when kswapd encounters a
zone with just a single swappable page inside it (when there
aren't enough empty zones available)
- ??? what else ???

| Linux: - LinuxHQ MM-patches page | Scouting webmaster |
| - kswapd ask-him & complain-to guy | Vries cubscout leader |
| | <> |

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to