thp: remove PG_buddy
authorAndrea Arcangeli <aarcange@redhat.com>
Thu, 13 Jan 2011 23:47:00 +0000 (15:47 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Jan 2011 01:32:43 +0000 (17:32 -0800)
commit5f24ce5fd34c3ca1b3d10d30da754732da64d5c0
treec82d27461f2adda210e77808b7dd04eaec017f2f
parent21ae5b01750f14140809508a478a4413792e0261
thp: remove PG_buddy

PG_buddy can be converted to _mapcount == -2.  So the PG_compound_lock can
be added to page->flags without overflowing (because of the sparse section
bits increasing) with CONFIG_X86_PAE=y and CONFIG_X86_PAT=y.  This also
has to move the memory hotplug code from _mapcount to lru.next to avoid
any risk of clashes.  We can't use lru.next for PG_buddy removal, but
memory hotplug can use lru.next even more easily than the mapcount
instead.

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/page.c
include/linux/memory_hotplug.h
include/linux/mm.h
include/linux/page-flags.h
mm/memory_hotplug.c
mm/page_alloc.c
mm/sparse.c