This patchset moves definition of mm_struct into separate header file. It allows to get rid of nr_pmds if PMD page table level is folded. We cannot do it with current mm_types.h because we need __PAGETABLE_PMD_FOLDED from <asm/pgtable.h> which creates circular dependencies. I've done few build tests and looks like it works, but I expect breakage on some configuration. Please test. I hope one day we would rely on LTO for inlining instead of this header mess :-/ Kirill A. Shutemov (4): mm: move enum tlb_flush_reason into <trace/events/tlb.h> mm: split up mm_struct to separate header file mm: define __PAGETABLE_{PMD,PUD}_FOLDED to zero or one mm: do not add nr_pmds into mm_struct if PMD is folded arch/arm/include/asm/pgtable-2level.h | 2 +- arch/arm64/include/asm/kvm_mmu.h | 4 +- arch/arm64/kernel/efi.c | 1 + arch/arm64/mm/hugetlbpage.c | 6 +- arch/c6x/kernel/dma.c | 1 - arch/microblaze/include/asm/pgtable.h | 2 +- arch/mips/include/asm/pgalloc.h | 4 +- arch/mips/kernel/asm-offsets.c | 4 +- arch/mips/mm/init.c | 2 +- arch/mips/mm/pgtable-64.c | 6 +- arch/mips/mm/tlbex.c | 8 +- arch/powerpc/mm/pgtable_64.c | 2 +- arch/s390/include/asm/pgtable.h | 1 + arch/sh/mm/init.c | 2 +- arch/tile/mm/hugetlbpage.c | 4 +- arch/tile/mm/pgtable.c | 4 +- arch/x86/include/asm/mmu_context.h | 1 + arch/x86/include/asm/pgtable.h | 15 +-- arch/x86/include/asm/xen/page.h | 2 +- drivers/iommu/amd_iommu_v2.c | 1 + drivers/staging/android/ion/ion.c | 1 - include/asm-generic/4level-fixup.h | 2 +- include/asm-generic/pgtable-nopmd.h | 2 +- include/asm-generic/pgtable-nopud.h | 2 +- include/asm-generic/pgtable.h | 8 ++ include/linux/mm.h | 5 +- include/linux/mm_struct.h | 217 ++++++++++++++++++++++++++++++++ include/linux/mm_types.h | 226 ++-------------------------------- include/linux/mmu_notifier.h | 1 + include/linux/sched.h | 1 + include/trace/events/tlb.h | 15 ++- kernel/fork.c | 2 +- mm/init-mm.c | 1 + mm/kmemcheck.c | 1 - mm/memory.c | 4 +- 35 files changed, 289 insertions(+), 271 deletions(-) create mode 100644 include/linux/mm_struct.h -- 2.1.4 -- 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>