Greetings, version #3 of the fix for the pgtable_bytes mis-accounting problem on s390. Three times is a charm.. Changes v2 -> v3: - Add a fourth patch to redefine __PAGETABLE_PxD_FOLDED as non-empty - Move mm_pxd_folded() to include/asm-generic/pgtable.h and use __is_defined() again with the redefined __PAGETABLE_PxD_FOLDED - Add a missing mm_inc_nr_puds() in arch/s390/mm/pgalloc.c Changes v1 -> v2: - Split the patch into three parts, one patch to add the mm_pxd_folded helpers, one patch to use to the helpers in mm_[dec|inc]_nr_[pmds|puds] and finally the fix for s390. - Drop the use of __is_defined, it does not work with the __PAGETABLE_PxD_FOLDED defines - Do not change the basic #ifdef'ery in mm.h, just add the calls to mm_pxd_folded to the pgtable_bytes accounting functions. This fixes the compile error on alpha (and potentially on other archs). Martin Schwidefsky (4): mm: make the __PAGETABLE_PxD_FOLDED defines non-empty mm: introduce mm_[p4d|pud|pmd]_folded mm: add mm_pxd_folded checks to pgtable_bytes accounting functions s390/mm: fix mis-accounting of pgtable_bytes arch/arm/include/asm/pgtable-2level.h | 2 +- arch/m68k/include/asm/pgtable_mm.h | 4 ++-- arch/microblaze/include/asm/pgtable.h | 2 +- arch/nds32/include/asm/pgtable.h | 2 +- arch/parisc/include/asm/pgtable.h | 2 +- arch/s390/include/asm/mmu_context.h | 5 ----- arch/s390/include/asm/pgalloc.h | 6 +++--- arch/s390/include/asm/pgtable.h | 18 ++++++++++++++++++ arch/s390/include/asm/tlb.h | 6 +++--- arch/s390/mm/pgalloc.c | 1 + include/asm-generic/4level-fixup.h | 2 +- include/asm-generic/5level-fixup.h | 2 +- include/asm-generic/pgtable-nop4d-hack.h | 2 +- include/asm-generic/pgtable-nop4d.h | 2 +- include/asm-generic/pgtable-nopmd.h | 2 +- include/asm-generic/pgtable-nopud.h | 2 +- include/asm-generic/pgtable.h | 16 ++++++++++++++++ include/linux/mm.h | 8 ++++++++ 18 files changed, 61 insertions(+), 23 deletions(-) -- 2.7.4