[PATCH 0/4] pgtable bytes mis-accounting v3

From: Martin Schwidefsky
Date: Wed Oct 31 2018 - 09:00:12 EST


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