lkml.org 
[lkml]   [2021]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 03/12] mm/debug_vm_pgtable: Use struct pgtable_debug_args in leaf and savewrite tests
    Date
    This uses struct pgtable_debug_args in the leaf and savewrite test
    functions.

    Signed-off-by: Gavin Shan <gshan@redhat.com>
    ---
    mm/debug_vm_pgtable.c | 32 ++++++++++++++++----------------
    1 file changed, 16 insertions(+), 16 deletions(-)

    diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c
    index 5f79d725f8d8..b4b33afae942 100644
    --- a/mm/debug_vm_pgtable.c
    +++ b/mm/debug_vm_pgtable.c
    @@ -160,9 +160,9 @@ static void __init pte_advanced_tests(struct mm_struct *mm,
    WARN_ON(pte_young(pte));
    }

    -static void __init pte_savedwrite_tests(unsigned long pfn, pgprot_t prot)
    +static void __init pte_savedwrite_tests(struct pgtable_debug_args *args)
    {
    - pte_t pte = pfn_pte(pfn, prot);
    + pte_t pte = pfn_pte(args->fixed_pte_pfn, args->page_prot_none);

    if (!IS_ENABLED(CONFIG_NUMA_BALANCING))
    return;
    @@ -261,7 +261,7 @@ static void __init pmd_advanced_tests(struct mm_struct *mm,
    pgtable = pgtable_trans_huge_withdraw(mm, pmdp);
    }

    -static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot)
    +static void __init pmd_leaf_tests(struct pgtable_debug_args *args)
    {
    pmd_t pmd;

    @@ -269,7 +269,7 @@ static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot)
    return;

    pr_debug("Validating PMD leaf\n");
    - pmd = pfn_pmd(pfn, prot);
    + pmd = pfn_pmd(args->fixed_pmd_pfn, args->page_prot);

    /*
    * PMD based THP is a leaf entry.
    @@ -278,7 +278,7 @@ static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot)
    WARN_ON(!pmd_leaf(pmd));
    }

    -static void __init pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot)
    +static void __init pmd_savedwrite_tests(struct pgtable_debug_args *args)
    {
    pmd_t pmd;

    @@ -289,7 +289,7 @@ static void __init pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot)
    return;

    pr_debug("Validating PMD saved write\n");
    - pmd = pfn_pmd(pfn, prot);
    + pmd = pfn_pmd(args->fixed_pmd_pfn, args->page_prot_none);
    WARN_ON(!pmd_savedwrite(pmd_mk_savedwrite(pmd_clear_savedwrite(pmd))));
    WARN_ON(pmd_savedwrite(pmd_clear_savedwrite(pmd_mk_savedwrite(pmd))));
    }
    @@ -387,7 +387,7 @@ static void __init pud_advanced_tests(struct mm_struct *mm,
    pudp_huge_get_and_clear(mm, vaddr, pudp);
    }

    -static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot)
    +static void __init pud_leaf_tests(struct pgtable_debug_args *args)
    {
    pud_t pud;

    @@ -395,7 +395,7 @@ static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot)
    return;

    pr_debug("Validating PUD leaf\n");
    - pud = pfn_pud(pfn, prot);
    + pud = pfn_pud(args->fixed_pud_pfn, args->page_prot);
    /*
    * PUD based THP is a leaf entry.
    */
    @@ -410,7 +410,7 @@ static void __init pud_advanced_tests(struct mm_struct *mm,
    pgprot_t prot)
    {
    }
    -static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot) { }
    +static void __init pud_leaf_tests(struct pgtable_debug_args *args) { }
    #endif /* CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */
    #else /* !CONFIG_TRANSPARENT_HUGEPAGE */
    static void __init pmd_basic_tests(struct pgtable_debug_args *args, int idx) { }
    @@ -427,9 +427,9 @@ static void __init pud_advanced_tests(struct mm_struct *mm,
    pgprot_t prot)
    {
    }
    -static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot) { }
    -static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot) { }
    -static void __init pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot) { }
    +static void __init pmd_leaf_tests(struct pgtable_debug_args *args) { }
    +static void __init pud_leaf_tests(struct pgtable_debug_args *args) { }
    +static void __init pmd_savedwrite_tests(struct pgtable_debug_args *args) { }
    #endif /* CONFIG_TRANSPARENT_HUGEPAGE */

    #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
    @@ -1249,11 +1249,11 @@ static int __init debug_vm_pgtable(void)
    pgd_basic_tests();
    hugetlb_basic_tests(&args);

    - pmd_leaf_tests(pmd_aligned, prot);
    - pud_leaf_tests(pud_aligned, prot);
    + pmd_leaf_tests(&args);
    + pud_leaf_tests(&args);

    - pte_savedwrite_tests(pte_aligned, protnone);
    - pmd_savedwrite_tests(pmd_aligned, protnone);
    + pte_savedwrite_tests(&args);
    + pmd_savedwrite_tests(&args);

    pte_special_tests(pte_aligned, prot);
    pte_protnone_tests(pte_aligned, protnone);
    --
    2.23.0
    \
     
     \ /
      Last update: 2021-07-19 15:07    [W:2.460 / U:0.536 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site