Re: test13-pre5

From: Andi Kleen (
Date: Thu Dec 28 2000 - 17:17:22 EST

On Thu, Dec 28, 2000 at 12:59:22PM -0800, Linus Torvalds wrote:
> - we absolutely do _not_ want to make "struct page" bigger. We can't
> afford to just throw away another 8 bytes per page on adding a new list
> structure, I feel. Even if this would be the simplest solution.


The current 2.4 struct page could be already shortened a lot, saving a lot
of cache.
(first number for 32bit, second for 64bit)

- Do not compile virtual in when the kernel does not support highmem
(saves 4/8 bytes)
- Instead of having a zone pointer mask use a 8 or 16 byte index into a
zone table. On a modern CPU it is much cheaper to do the and/shifts than
to do even a single cache miss during page aging. On a lot of systems
that zone index could be hardcoded to 0 anyways, giving better code.
- Instead of using 4/8 bytes for the age use only 16bit (FreeBSD which
has the same swapping algorithm even only uses 8bit)
- Remove the waitqueue debugging (obvious @)
- flags can be __u32 on 64bit hosts, sharing 64bit with something that
is tolerant to async updates (e.g. the zone table index or the index)
- index could be probably u32 instead of unsigned long, saving 4 bytes
on i386

Would you consider patches for any of these points?


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

This archive was generated by hypermail 2b29 : Sun Dec 31 2000 - 21:00:11 EST