1. 28 6月, 2022 1 次提交
  2. 10 5月, 2022 1 次提交
    • D
      mm/debug_vm_pgtable: add tests for __HAVE_ARCH_PTE_SWP_EXCLUSIVE · 210d1e8a
      David Hildenbrand 提交于
      Let's test that __HAVE_ARCH_PTE_SWP_EXCLUSIVE works as expected.
      
      Link: https://lkml.kernel.org/r/20220329164329.208407-3-david@redhat.comSigned-off-by: NDavid Hildenbrand <david@redhat.com>
      Acked-by: NVlastimil Babka <vbabka@suse.cz>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Don Dutile <ddutile@redhat.com>
      Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Jann Horn <jannh@google.com>
      Cc: Jason Gunthorpe <jgg@nvidia.com>
      Cc: John Hubbard <jhubbard@nvidia.com>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Liang Zhang <zhangliang5@huawei.com>
      Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Mike Kravetz <mike.kravetz@oracle.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Nadav Amit <namit@vmware.com>
      Cc: Oded Gabbay <oded.gabbay@gmail.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pedro Demarchi Gomes <pedrodemargomes@gmail.com>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Roman Gushchin <guro@fb.com>
      Cc: Shakeel Butt <shakeelb@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      210d1e8a
  3. 29 4月, 2022 1 次提交
  4. 05 2月, 2022 1 次提交
  5. 15 1月, 2022 2 次提交
  6. 07 11月, 2021 1 次提交
  7. 04 9月, 2021 12 次提交
  8. 02 7月, 2021 1 次提交
  9. 01 7月, 2021 2 次提交
  10. 30 6月, 2021 1 次提交
  11. 05 6月, 2021 1 次提交
  12. 01 5月, 2021 1 次提交
  13. 25 2月, 2021 2 次提交
    • A
      mm/debug_vm_pgtable/basic: iterate over entire protection_map[] · 2e326c07
      Anshuman Khandual 提交于
      Currently the basic tests just validate various page table transformations
      after starting with vm_get_page_prot(VM_READ|VM_WRITE|VM_EXEC) protection.
      Instead scan over the entire protection_map[] for better coverage.  It
      also makes sure that all these basic page table tranformations checks hold
      true irrespective of the starting protection value for the page table
      entry.  There is also a slight change in the debug print format for basic
      tests to capture the protection value it is being tested with.  The
      modified output looks something like
      
      [pte_basic_tests          ]: Validating PTE basic ()
      [pte_basic_tests          ]: Validating PTE basic (read)
      [pte_basic_tests          ]: Validating PTE basic (write)
      [pte_basic_tests          ]: Validating PTE basic (read|write)
      [pte_basic_tests          ]: Validating PTE basic (exec)
      [pte_basic_tests          ]: Validating PTE basic (read|exec)
      [pte_basic_tests          ]: Validating PTE basic (write|exec)
      [pte_basic_tests          ]: Validating PTE basic (read|write|exec)
      [pte_basic_tests          ]: Validating PTE basic (shared)
      [pte_basic_tests          ]: Validating PTE basic (read|shared)
      [pte_basic_tests          ]: Validating PTE basic (write|shared)
      [pte_basic_tests          ]: Validating PTE basic (read|write|shared)
      [pte_basic_tests          ]: Validating PTE basic (exec|shared)
      [pte_basic_tests          ]: Validating PTE basic (read|exec|shared)
      [pte_basic_tests          ]: Validating PTE basic (write|exec|shared)
      [pte_basic_tests          ]: Validating PTE basic (read|write|exec|shared)
      
      This adds a missing argument 'struct mm_struct *' in pud_basic_tests()
      test .  This never got exposed before as PUD based THP is available only
      on X86 platform where mm_pmd_folded(mm) call gets macro replaced without
      requiring the mm_struct i.e __is_defined(__PAGETABLE_PMD_FOLDED).
      
      Link: https://lkml.kernel.org/r/1611137241-26220-3-git-send-email-anshuman.khandual@arm.comSigned-off-by: NAnshuman Khandual <anshuman.khandual@arm.com>
      Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> [s390]
      Reviewed-by: NSteven Price <steven.price@arm.com>
      Suggested-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2e326c07
    • A
      mm/debug_vm_pgtable/basic: add validation for dirtiness after write protect · bb5c47ce
      Anshuman Khandual 提交于
      Patch series "mm/debug_vm_pgtable: Some minor updates", v3.
      
      This series contains some cleanups and new test suggestions from Catalin
      from an earlier discussion.
      
      https://lore.kernel.org/linux-mm/20201123142237.GF17833@gaia/
      
      This patch (of 2):
      
      This adds validation tests for dirtiness after write protect conversion
      for each page table level.  There are two new separate test types involved
      here.
      
      The first test ensures that a given page table entry does not become dirty
      after pxx_wrprotect().  This is important for platforms like arm64 which
      transfers and drops the hardware dirty bit (!PTE_RDONLY) to the software
      dirty bit while making it an write protected one.  This test ensures that
      no fresh page table entry could be created with hardware dirty bit set.
      The second test ensures that a given page table entry always preserve the
      dirty information across pxx_wrprotect().
      
      This adds two previously missing PUD level basic tests and while here
      fixes pxx_wrprotect() related typos in the documentation file.
      
      Link: https://lkml.kernel.org/r/1611137241-26220-1-git-send-email-anshuman.khandual@arm.com
      Link: https://lkml.kernel.org/r/1611137241-26220-2-git-send-email-anshuman.khandual@arm.comSigned-off-by: NAnshuman Khandual <anshuman.khandual@arm.com>
      Suggested-by: NCatalin Marinas <catalin.marinas@arm.com>
      Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> [s390]
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Steven Price <steven.price@arm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bb5c47ce
  14. 17 10月, 2020 11 次提交
  15. 08 8月, 2020 2 次提交
    • A
      Documentation/mm: add descriptions for arch page table helpers · b1d00007
      Anshuman Khandual 提交于
      This adds a specific description file for all arch page table helpers which
      is in sync with the semantics being tested via CONFIG_DEBUG_VM_PGTABLE. All
      future changes either to these descriptions here or the debug test should
      always remain in sync.
      
      [anshuman.khandual@arm.com: fold in Mike's patch for the rst document, fix typos in the rst document]
        Link: http://lkml.kernel.org/r/1594610587-4172-5-git-send-email-anshuman.khandual@arm.comSuggested-by: NMike Rapoport <rppt@kernel.org>
      Signed-off-by: NAnshuman Khandual <anshuman.khandual@arm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Acked-by: NMike Rapoport <rppt@linux.ibm.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      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: Zi Yan <ziy@nvidia.com>
      Link: http://lkml.kernel.org/r/1593996516-7186-5-git-send-email-anshuman.khandual@arm.comSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b1d00007
    • A
      mm/debug_vm_pgtable: add debug prints for individual tests · 6315df41
      Anshuman Khandual 提交于
      This adds debug print information that enlists all tests getting executed
      on a given platform.  With dynamic debug enabled, the following
      information will be splashed during boot.  For compactness purpose,
      dropped both time stamp and prefix (i.e debug_vm_pgtable) from this sample
      output.
      
      [debug_vm_pgtable      ]: Validating architecture page table helpers
      [pte_basic_tests       ]: Validating PTE basic
      [pmd_basic_tests       ]: Validating PMD basic
      [p4d_basic_tests       ]: Validating P4D basic
      [pgd_basic_tests       ]: Validating PGD basic
      [pte_clear_tests       ]: Validating PTE clear
      [pmd_clear_tests       ]: Validating PMD clear
      [pte_advanced_tests    ]: Validating PTE advanced
      [pmd_advanced_tests    ]: Validating PMD advanced
      [hugetlb_advanced_tests]: Validating HugeTLB advanced
      [pmd_leaf_tests        ]: Validating PMD leaf
      [pmd_huge_tests        ]: Validating PMD huge
      [pte_savedwrite_tests  ]: Validating PTE saved write
      [pmd_savedwrite_tests  ]: Validating PMD saved write
      [pmd_populate_tests    ]: Validating PMD populate
      [pte_special_tests     ]: Validating PTE special
      [pte_protnone_tests    ]: Validating PTE protnone
      [pmd_protnone_tests    ]: Validating PMD protnone
      [pte_devmap_tests      ]: Validating PTE devmap
      [pmd_devmap_tests      ]: Validating PMD devmap
      [pte_swap_tests        ]: Validating PTE swap
      [swap_migration_tests  ]: Validating swap migration
      [hugetlb_basic_tests   ]: Validating HugeTLB basic
      [pmd_thp_tests         ]: Validating PMD based THP
      Signed-off-by: NAnshuman Khandual <anshuman.khandual@arm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Tested-by: Vineet Gupta <vgupta@synopsys.com>	[arc]
      Reviewed-by: NZi Yan <ziy@nvidia.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Mike Rapoport <rppt@linux.ibm.com>
      Cc: Vineet Gupta <vgupta@synopsys.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>
      Link: http://lkml.kernel.org/r/1593996516-7186-4-git-send-email-anshuman.khandual@arm.comSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6315df41