mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
mm/debug_vm_pgtable/locks: move non page table modifying test together
This will help in adding proper locks in a later patch Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: Michael Ellerman <mpe@ellerman.id.au> Link: https://lkml.kernel.org/r/20200902114222.181353-9-aneesh.kumar@linux.ibm.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c3824e18d3
commit
e8edf0adb9
1 changed files with 28 additions and 23 deletions
|
@ -984,7 +984,7 @@ static int __init debug_vm_pgtable(void)
|
||||||
p4dp = p4d_alloc(mm, pgdp, vaddr);
|
p4dp = p4d_alloc(mm, pgdp, vaddr);
|
||||||
pudp = pud_alloc(mm, p4dp, vaddr);
|
pudp = pud_alloc(mm, p4dp, vaddr);
|
||||||
pmdp = pmd_alloc(mm, pudp, vaddr);
|
pmdp = pmd_alloc(mm, pudp, vaddr);
|
||||||
ptep = pte_alloc_map_lock(mm, pmdp, vaddr, &ptl);
|
ptep = pte_alloc_map(mm, pmdp, vaddr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Save all the page table page addresses as the page table
|
* Save all the page table page addresses as the page table
|
||||||
|
@ -1004,33 +1004,12 @@ static int __init debug_vm_pgtable(void)
|
||||||
p4d_basic_tests(p4d_aligned, prot);
|
p4d_basic_tests(p4d_aligned, prot);
|
||||||
pgd_basic_tests(pgd_aligned, prot);
|
pgd_basic_tests(pgd_aligned, prot);
|
||||||
|
|
||||||
pte_clear_tests(mm, ptep, vaddr);
|
|
||||||
pmd_clear_tests(mm, pmdp);
|
|
||||||
pud_clear_tests(mm, pudp);
|
|
||||||
p4d_clear_tests(mm, p4dp);
|
|
||||||
pgd_clear_tests(mm, pgdp);
|
|
||||||
|
|
||||||
pte_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot);
|
|
||||||
pmd_advanced_tests(mm, vma, pmdp, pmd_aligned, vaddr, prot);
|
|
||||||
pud_advanced_tests(mm, vma, pudp, pud_aligned, vaddr, prot);
|
|
||||||
hugetlb_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot);
|
|
||||||
|
|
||||||
pmd_leaf_tests(pmd_aligned, prot);
|
pmd_leaf_tests(pmd_aligned, prot);
|
||||||
pud_leaf_tests(pud_aligned, prot);
|
pud_leaf_tests(pud_aligned, prot);
|
||||||
|
|
||||||
pmd_huge_tests(pmdp, pmd_aligned, prot);
|
|
||||||
pud_huge_tests(pudp, pud_aligned, prot);
|
|
||||||
|
|
||||||
pte_savedwrite_tests(pte_aligned, protnone);
|
pte_savedwrite_tests(pte_aligned, protnone);
|
||||||
pmd_savedwrite_tests(pmd_aligned, protnone);
|
pmd_savedwrite_tests(pmd_aligned, protnone);
|
||||||
|
|
||||||
pte_unmap_unlock(ptep, ptl);
|
|
||||||
|
|
||||||
pmd_populate_tests(mm, pmdp, saved_ptep);
|
|
||||||
pud_populate_tests(mm, pudp, saved_pmdp);
|
|
||||||
p4d_populate_tests(mm, p4dp, saved_pudp);
|
|
||||||
pgd_populate_tests(mm, pgdp, saved_p4dp);
|
|
||||||
|
|
||||||
pte_special_tests(pte_aligned, prot);
|
pte_special_tests(pte_aligned, prot);
|
||||||
pte_protnone_tests(pte_aligned, protnone);
|
pte_protnone_tests(pte_aligned, protnone);
|
||||||
pmd_protnone_tests(pmd_aligned, protnone);
|
pmd_protnone_tests(pmd_aligned, protnone);
|
||||||
|
@ -1048,11 +1027,37 @@ static int __init debug_vm_pgtable(void)
|
||||||
pmd_swap_tests(pmd_aligned, prot);
|
pmd_swap_tests(pmd_aligned, prot);
|
||||||
|
|
||||||
swap_migration_tests();
|
swap_migration_tests();
|
||||||
hugetlb_basic_tests(pte_aligned, prot);
|
|
||||||
|
|
||||||
pmd_thp_tests(pmd_aligned, prot);
|
pmd_thp_tests(pmd_aligned, prot);
|
||||||
pud_thp_tests(pud_aligned, prot);
|
pud_thp_tests(pud_aligned, prot);
|
||||||
|
|
||||||
|
hugetlb_basic_tests(pte_aligned, prot);
|
||||||
|
|
||||||
|
pte_clear_tests(mm, ptep, vaddr);
|
||||||
|
pmd_clear_tests(mm, pmdp);
|
||||||
|
pud_clear_tests(mm, pudp);
|
||||||
|
p4d_clear_tests(mm, p4dp);
|
||||||
|
pgd_clear_tests(mm, pgdp);
|
||||||
|
|
||||||
|
ptl = pte_lockptr(mm, pmdp);
|
||||||
|
spin_lock(ptl);
|
||||||
|
|
||||||
|
pte_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot);
|
||||||
|
pmd_advanced_tests(mm, vma, pmdp, pmd_aligned, vaddr, prot);
|
||||||
|
pud_advanced_tests(mm, vma, pudp, pud_aligned, vaddr, prot);
|
||||||
|
hugetlb_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot);
|
||||||
|
|
||||||
|
|
||||||
|
pmd_huge_tests(pmdp, pmd_aligned, prot);
|
||||||
|
pud_huge_tests(pudp, pud_aligned, prot);
|
||||||
|
|
||||||
|
pte_unmap_unlock(ptep, ptl);
|
||||||
|
|
||||||
|
pmd_populate_tests(mm, pmdp, saved_ptep);
|
||||||
|
pud_populate_tests(mm, pudp, saved_pmdp);
|
||||||
|
p4d_populate_tests(mm, p4dp, saved_pudp);
|
||||||
|
pgd_populate_tests(mm, pgdp, saved_p4dp);
|
||||||
|
|
||||||
p4d_free(mm, saved_p4dp);
|
p4d_free(mm, saved_p4dp);
|
||||||
pud_free(mm, saved_pudp);
|
pud_free(mm, saved_pudp);
|
||||||
pmd_free(mm, saved_pmdp);
|
pmd_free(mm, saved_pmdp);
|
||||||
|
|
Loading…
Reference in a new issue