PG_uncached, CONFIG_EXTENDED_PAGEFLAGS and !NUMA

From: H. Peter Anvin
Date: Fri Aug 28 2009 - 14:59:28 EST


Hi all,

I am looking at a patchset by Venkatesh Pallipadi which cleans up a lot
of the corner cases in x86 PAT.

http://marc.info/?i=cover.1247162373.git.venkatesh.pallipadi@xxxxxxxxx

This patchset pages PG_uncached available to other architectures than
IA64 on an opt-in basis. Unfortunately, it means we run out of page
flags on X86_32+PAE+SPARSEMEM.

Rather than increasing SECTION_SIZE_BITS further, it seems more
reasonable to disable CONFIG_EXTENDED_PAGEFLAGS in this case:

diff --git a/mm/Kconfig b/mm/Kconfig
index c948d4c..fe221c7 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -153,7 +153,7 @@ config MEMORY_HOTREMOVE
#
config PAGEFLAGS_EXTENDED
def_bool y
- depends on 64BIT || SPARSEMEM_VMEMMAP || !NUMA || !SPARSEMEM
+ depends on 64BIT || SPARSEMEM_VMEMMAP || !SPARSEMEM

# Heavily threaded applications may benefit from splitting the mm-wide

Dropping the !NUMA requirement here seems reasonable, since we already
have generic code that handles removing the node number from the page
flags when there are too many.

We could make this an x86-specific change, but the above generic change
would be cleaner in terms of Kconfig complexity. Would people object to
this as a general change?

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/