• Anshuman Khandual's avatar
    mm/debug: add tests validating architecture page table helpers · c658b399
    Anshuman Khandual authored
    This adds tests which will validate architecture page table helpers and
    other accessors in their compliance with expected generic MM semantics.
    This will help various architectures in validating changes to existing
    page table helpers or addition of new ones.
    
    Test page table and memory pages creating it's entries at various level
    are all allocated from system memory with required size and alignments.
    But if memory pages with required size and alignment could not be
    allocated, then all depending individual tests are just skipped
    afterwards.  This test gets called right after init_mm_internals()
    required for alloc_contig_range() to work correctly.
    
    This gets built and run when CONFIG_DEBUG_VM_PGTABLE is selected along
    with CONFIG_VM_DEBUG.  Architectures willing to subscribe this test also
    need to select CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE which for now is limited
    to x86 and arm64.  Going forward, other architectures too can enable this
    after fixing build or runtime problems (if any) with their page table
    helpers.
    
    Link: http://lkml.kernel.org/r/1570775142-31425-3-git-send-email-anshuman.khandual@arm.comSigned-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
    Tested-by: Christophe Leroy <christophe.leroy@c-s.fr>	[PPC32]
    Suggested-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Jason Gunthorpe <jgg@ziepe.ca>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Steven Price <Steven.Price@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Sri Krishna chowdary <schowdary@nvidia.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Russell King - ARM Linux <linux@armlinux.org.uk>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Vineet Gupta <vgupta@synopsys.com>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Paul Burton <paul.burton@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Kirill A. Shutemov <kirill@shutemov.name>
    Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    xCc: Christophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    c658b399