]> err.no Git - linux-2.6/commit
[PATCH] unpaged: unifdefed PageCompound
authorHugh Dickins <hugh@veritas.com>
Tue, 22 Nov 2005 05:32:14 +0000 (21:32 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 22 Nov 2005 17:13:42 +0000 (09:13 -0800)
commit664beed0190fae687ac51295694004902ddeb18e
tree89a7c8d9d541fb678c567834cb758fc88b375d47
parent1cdca61bf8537043edde8ef784ce1a1351361dac
[PATCH] unpaged: unifdefed PageCompound

It looks like snd_xxx is not the only nopage to be using PageReserved as a way
of holding a high-order page together: which no longer works, but is masked by
our failure to free from VM_RESERVED areas.  We cannot fix that bug without
first substituting another way to hold the high-order page together, while
farming out the 0-order pages from within it.

That's just what PageCompound is designed for, but it's been kept under
CONFIG_HUGETLB_PAGE.  Remove the #ifdefs: which saves some space (out- of-line
put_page), doesn't slow down what most needs to be fast (already using
hugetlb), and unifies the way we handle high-order pages.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/mm.h
include/linux/page-flags.h
mm/page_alloc.c
mm/swap.c