lkml.org 
[lkml]   [2021]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v4 11/12] mm/debug_vm_pgtable: Remove unused code
    From
    Date


    On 7/27/21 11:44 AM, Gavin Shan wrote:
    > The variables used by old implementation isn't needed as we switched
    > to "struct pgtable_debug_args". Lets remove them and related code in
    > debug_vm_pgtable().
    >
    > Signed-off-by: Gavin Shan <gshan@redhat.com>
    > ---
    > mm/debug_vm_pgtable.c | 54 -------------------------------------------
    > 1 file changed, 54 deletions(-)
    >
    > diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c
    > index 0611b5f31e89..162ff6329f7b 100644
    > --- a/mm/debug_vm_pgtable.c
    > +++ b/mm/debug_vm_pgtable.c
    > @@ -1201,15 +1201,7 @@ static int __init init_args(struct pgtable_debug_args *args)
    > static int __init debug_vm_pgtable(void)
    > {
    > struct pgtable_debug_args args;
    > - struct vm_area_struct *vma;
    > - struct mm_struct *mm;
    > - pgd_t *pgdp;
    > - p4d_t *p4dp;
    > - pud_t *pudp;
    > - pmd_t *pmdp, *saved_pmdp, pmd;
    > pte_t *ptep;
    > - pgtable_t saved_ptep;
    > - unsigned long vaddr;
    > spinlock_t *ptl = NULL;
    > int idx, ret;
    >
    > @@ -1218,41 +1210,6 @@ static int __init debug_vm_pgtable(void)
    > if (ret)
    > return ret;
    >
    > - vaddr = get_random_vaddr();
    > - mm = mm_alloc();
    > - if (!mm) {
    > - pr_err("mm_struct allocation failed\n");
    > - return 1;
    > - }
    > -
    > - vma = vm_area_alloc(mm);
    > - if (!vma) {
    > - pr_err("vma allocation failed\n");
    > - return 1;
    > - }
    > -
    > - pgdp = pgd_offset(mm, vaddr);
    > - p4dp = p4d_alloc(mm, pgdp, vaddr);
    > - pudp = pud_alloc(mm, p4dp, vaddr);
    > - pmdp = pmd_alloc(mm, pudp, vaddr);
    > - /*
    > - * Allocate pgtable_t
    > - */
    > - if (pte_alloc(mm, pmdp)) {
    > - pr_err("pgtable allocation failed\n");
    > - return 1;
    > - }
    > -
    > - /*
    > - * Save all the page table page addresses as the page table
    > - * entries will be used for testing with random or garbage
    > - * values. These saved addresses will be used for freeing
    > - * page table pages.
    > - */
    > - pmd = READ_ONCE(*pmdp);
    > - saved_pmdp = pmd_offset(pudp, 0UL);
    > - saved_ptep = pmd_pgtable(pmd);
    > -
    > /*
    > * Iterate over the protection_map[] to make sure that all
    > * the basic page table transformation validations just hold
    > @@ -1335,17 +1292,6 @@ static int __init debug_vm_pgtable(void)
    > pgd_populate_tests(&args);
    > spin_unlock(&(args.mm->page_table_lock));
    >
    > - p4d_free(mm, p4d_offset(pgdp, 0UL));
    > - pud_free(mm, pud_offset(p4dp, 0UL));

    Small nit. saved_p4dp and saved_pudp could have been dropped in this
    patch rather than the previous one. Previous build error with W=1
    might not have been a problem as there was a remaining usage after
    the assignment.

    > - pmd_free(mm, saved_pmdp);
    > - pte_free(mm, saved_ptep);
    > -
    > - vm_area_free(vma);
    > - mm_dec_nr_puds(mm);
    > - mm_dec_nr_pmds(mm);
    > - mm_dec_nr_ptes(mm);
    > - mmdrop(mm);
    > -
    > destroy_args(&args);
    > return 0;
    > }
    >

    With or without the above change.

    Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>

    \
     
     \ /
      Last update: 2021-07-29 07:59    [W:3.899 / U:0.940 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site