Fengguang Wu found that an earlier version crashed on his tests. This version passed tests running with DEBUG_VM and DEBUG_PAGEALLOC. Fengguang, another test would be appreciated and if it helps this series is the mm-numa-use-high-bit-v4r3 branch in git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma.git At the very least the first patch of this series needs to be picked up and backported to stable as David Vrabel reports that Xen users are now hitting the bug routinely. It's currently tagged for stable but please make sure that information does not get stripped when merged and gets picked up by the stable maintainers in a timely fashion. Changelog since V2 o Use separate bit and shrink max swap size o Distinguish between pte_present and pte_numa for swap ptes o Remove bit shuffling depending on config o Clear NUMA information protection modification on x86 o Removed RFC Changelog since V1 o Reuse software-bits o Use paravirt ops when modifying PTEs in the NUMA helpers Aliasing _PAGE_NUMA and _PAGE_PROTNONE had some convenient properties but it ultimately gave Xen a headache and pisses almost everybody off that looks closely at it. Two discussions on "why this makes sense" is one discussion too many so rather than having a third so here is this series. This series uses bits to uniquely identify NUMA hinting ptes instead of depending on PROTNONE faults to simply "miss" the PTEs. It really could do with a tested-by from the powerpc people. arch/powerpc/include/asm/pgtable.h | 5 +++ arch/x86/Kconfig | 2 +- arch/x86/include/asm/pgtable.h | 14 +++++--- arch/x86/include/asm/pgtable_64.h | 8 +++++ arch/x86/include/asm/pgtable_types.h | 66 +++++++++++++++++++----------------- arch/x86/mm/pageattr-test.c | 2 +- include/asm-generic/pgtable.h | 35 +++++++++++++------ include/linux/swapops.h | 2 +- mm/memory.c | 12 +++---- 9 files changed, 90 insertions(+), 56 deletions(-) -- 1.8.4.5 Mel Gorman (3): mm: use paravirt friendly ops for NUMA hinting ptes x86: Require x86-64 for automatic NUMA balancing x86: Define _PAGE_NUMA by reusing software bits on the PMD and PTE levels arch/powerpc/include/asm/pgtable.h | 5 +++ arch/x86/Kconfig | 2 +- arch/x86/include/asm/pgtable.h | 14 +++++--- arch/x86/include/asm/pgtable_64.h | 8 +++++ arch/x86/include/asm/pgtable_types.h | 66 +++++++++++++++++++----------------- arch/x86/mm/pageattr-test.c | 2 +- include/asm-generic/pgtable.h | 35 +++++++++++++------ include/linux/swapops.h | 2 +- mm/memory.c | 17 ++++------ 9 files changed, 93 insertions(+), 58 deletions(-) -- 1.8.4.5 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>