• Anshuman Khandual's avatar
    mm/debug_vm_pgtable: add tests validating arch helpers for core MM features · 05289402
    Anshuman Khandual authored
    Patch series "mm/debug_vm_pgtable: Add some more tests", v5.
    
    This series adds some more arch page table helper validation tests which
    are related to core and advanced memory functions.  This also creates a
    documentation, enlisting expected semantics for all page table helpers as
    suggested by Mike Rapoport previously
    (https://lkml.org/lkml/2020/1/30/40).
    
    There are many TRANSPARENT_HUGEPAGE and ARCH_HAS_TRANSPARENT_HUGEPAGE_PUD
    ifdefs scattered across the test.  But consolidating all the fallback
    stubs is not very straight forward because
    ARCH_HAS_TRANSPARENT_HUGEPAGE_PUD is not explicitly dependent on
    ARCH_HAS_TRANSPARENT_HUGEPAGE.
    
    Tested on arm64, x86 platforms but only build tested on all other enabled
    platforms through ARCH_HAS_DEBUG_VM_PGTABLE i.e powerpc, arc, s390.  The
    following failure on arm64 still exists which was mentioned previously.
    It will be fixed with the upcoming THP migration on arm64 enablement
    series.
    
    WARNING .... mm/debug_vm_pgtable.c:860 debug_vm_pgtable+0x940/0xa54
    WARN_ON(!pmd_present(pmd_mkinvalid(pmd_mkhuge(pmd))))
    
    This patch (of 4):
    
    This adds new tests validating arch page table helpers for these following
    core memory features.  These tests create and test specific mapping types
    at various page table levels.
    
    1. SPECIAL mapping
    2. PROTNONE mapping
    3. DEVMAP mapping
    4. SOFTDIRTY mapping
    5. SWAP mapping
    6. MIGRATION mapping
    7. HUGETLB mapping
    8. THP mapping
    Suggested-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Tested-by: Vineet Gupta <vgupta@synopsys.com>	[arc]
    Reviewed-by: default avatarZi Yan <ziy@nvidia.com>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Vineet Gupta <vgupta@synopsys.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Kirill A. Shutemov <kirill@shutemov.name>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@kernel.org>
    Cc: Steven Price <steven.price@arm.com>
    Link: http://lkml.kernel.org/r/1594610587-4172-1-git-send-email-anshuman.khandual@arm.com
    Link: http://lkml.kernel.org/r/1593996516-7186-1-git-send-email-anshuman.khandual@arm.com
    Link: http://lkml.kernel.org/r/1593996516-7186-2-git-send-email-anshuman.khandual@arm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    05289402
debug_vm_pgtable.c 18.8 KB