lkml.org 
[lkml]   [2016]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v2 07/12] mm: thp: check pmd migration entry in common path
    Date
    On Tuesday, November 08, 2016 7:32 AM Naoya Horiguchi wrote:
    >
    > @@ -1013,6 +1027,9 @@ int do_huge_pmd_wp_page(struct fault_env *fe, pmd_t orig_pmd)
    > if (unlikely(!pmd_same(*fe->pmd, orig_pmd)))
    > goto out_unlock;
    >
    > + if (unlikely(!pmd_present(orig_pmd)))
    > + goto out_unlock;
    > +

    Can we encounter a migration entry after acquiring ptl ?

    > page = pmd_page(orig_pmd);
    > VM_BUG_ON_PAGE(!PageCompound(page) || !PageHead(page), page);
    > /*
    [...]
    > @@ -3591,6 +3591,10 @@ static int __handle_mm_fault(struct vm_area_struct *vma, unsigned long address,
    > int ret;
    >
    > barrier();
    > + if (unlikely(is_pmd_migration_entry(orig_pmd))) {
    > + pmd_migration_entry_wait(mm, fe.pmd);
    > + return 0;
    > + }
    > if (pmd_trans_huge(orig_pmd) || pmd_devmap(orig_pmd)) {
    > if (pmd_protnone(orig_pmd) && vma_is_accessible(vma))
    > return do_huge_pmd_numa_page(&fe, orig_pmd);

    \
     
     \ /
      Last update: 2016-11-10 10:26    [W:6.164 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site