Fair enough. I see that for the bitmap index in particular.
I suppose a small amount of memory could be saved by noting that, as
some parts of a not-really-aligned zone are never allocated, those parts
of the bitmap don't have to exist.
Slightly different topic: I think I see a bug. This code in
free_pages_ok:
map_nr &= mask;
...
buddy = list(map_nr ^ -mask);
...
mask <<= 1;
...
map_nr &= mask;
map_nr here is relative to the first page in mem_map, whichever zone is
used. That means the first page in mem_map had better have as much
alignment as any zone, otherwise the masking operations on map_nr aren't
going to work nicely at all. This only affects the folks who are asking
about systems with memory that doesn't start at address zero.
enjoy,
-- 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/