mbox series

[0/4] pgtable bytes mis-accounting v3

Message ID 1540990801-4261-1-git-send-email-schwidefsky@de.ibm.com (mailing list archive)
Headers show
Series pgtable bytes mis-accounting v3 | expand

Message

Martin Schwidefsky Oct. 31, 2018, 12:59 p.m. UTC
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(-)