On Thu, Nov 10, 2016 at 05:28:20PM +0800, Hillf Danton wrote: > On Thursday, November 10, 2016 5:22 PM Naoya Horiguchi wrote: > > On Thu, Nov 10, 2016 at 05:08:07PM +0800, Hillf Danton wrote: > > > 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 ? > > > > I think we can. thp migration code releases ptl after converting pmd into > > migration entry, so other code can see it even within ptl. > > > But we have a pmd_same check there, you see.
You're right. So we can omit this pmd_present check. Thanks, Naoya Horiguchi