>> + /* >> + * try_grab_page() should always succeed here, because we hold >> + * the ptl lock and have verified pte_present(). >> + */ >> + if (WARN_ON_ONCE(!try_grab_page(page, flags))) { >> + page = NULL; >> + goto out; >> + } >> + } else { > > Should add FOLL_MIGRATION validation before waiting a migration entry. We really only need FOLL_MIGRATION for KSM. As hugetlb pages cannot be KSM pages, we don't need this. Actually, I do have patches in the works that rip out FOLL_MIGRATION completely by adjusting KSM code. So let's try to not add dead code (although it would make sense for feature completeness as is -- but then, FOLL_MIGRATION really needs to go). -- Thanks, David / dhildenb