lkml.org 
[lkml]   [2021]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 4/5] mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd
    From
    Date
    On 29.04.21 15:26, Miaohe Lin wrote:
    > Commit aa88b68c3b1d ("thp: keep huge zero page pinned until tlb flush")
    > introduced tlb_remove_page() for huge zero page to keep it pinned until
    > flush is complete and prevents the page from being split under us. But
    > huge zero page is kept pinned until all relevant mm_users reach zero since
    > the commit 6fcb52a56ff6 ("thp: reduce usage of huge zero page's atomic
    > counter"). So tlb_remove_page_size() for huge zero pmd is unnecessary now.
    >
    > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
    > ---
    > mm/huge_memory.c | 3 ---
    > 1 file changed, 3 deletions(-)
    >
    > diff --git a/mm/huge_memory.c b/mm/huge_memory.c
    > index e24a96de2e37..af30338ac49c 100644
    > --- a/mm/huge_memory.c
    > +++ b/mm/huge_memory.c
    > @@ -1680,12 +1680,9 @@ int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma,
    > if (arch_needs_pgtable_deposit())
    > zap_deposited_table(tlb->mm, pmd);
    > spin_unlock(ptl);
    > - if (is_huge_zero_pmd(orig_pmd))
    > - tlb_remove_page_size(tlb, pmd_page(orig_pmd), HPAGE_PMD_SIZE);
    > } else if (is_huge_zero_pmd(orig_pmd)) {
    > zap_deposited_table(tlb->mm, pmd);
    > spin_unlock(ptl);
    > - tlb_remove_page_size(tlb, pmd_page(orig_pmd), HPAGE_PMD_SIZE);
    > } else {
    > struct page *page = NULL;
    > int flush_needed = 1;
    >

    This sounds sane to me

    Acked-by: David Hildenbrand <david@redhat.com>

    --
    Thanks,

    David / dhildenb

    \
     
     \ /
      Last update: 2021-04-29 17:03    [W:2.814 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site