Hi everyone, This is ver.5 patchset for fixing hugepage migration's race problem. In ver.4, Hugh enlighted me about the problem around pmd_huge(), where pmd_huge() returned false for migration/hwpoison entry and we treated them as normal pages. IOW, we didn't handle !pmd_present case properly. So I added a new separate patch for this problem as patch 2/8, and I changed patch "mm/hugetlb: take page table lock in follow_huge_pmd()" (3/8 in this series) to handle non-present hugetlb case in follow_huge_pmd(). Other than that, changes in this version are minor ones like comment fix. Can I beg your comments and reviews again? Thanks, Naoya Horiguchi --- Tree: git@xxxxxxxxxx:Naoya-Horiguchi/linux.git Branch: mmotm-2014-11-26-15-45/fix_hugetlbfs_follow_page.v5 v2: http://thread.gmane.org/gmane.linux.kernel/1761065 v3: http://thread.gmane.org/gmane.linux.kernel/1776585 v4: http://thread.gmane.org/gmane.linux.kernel/1788215 --- Summary: Naoya Horiguchi (8): mm/hugetlb: reduce arch dependent code around follow_huge_* mm/hugetlb: pmd_huge() returns true for non-present hugepage mm/hugetlb: take page table lock in follow_huge_pmd() mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection mm/hugetlb: add migration entry check in __unmap_hugepage_range mm/hugetlb: fix suboptimal migration/hwpoisoned entry check mm/hugetlb: cleanup and rename is_hugetlb_entry_(migration|hwpoisoned)() arch/arm/mm/hugetlbpage.c | 6 -- arch/arm64/mm/hugetlbpage.c | 6 -- arch/ia64/mm/hugetlbpage.c | 6 -- arch/metag/mm/hugetlbpage.c | 6 -- arch/mips/mm/hugetlbpage.c | 18 ---- arch/powerpc/mm/hugetlbpage.c | 8 ++ arch/s390/mm/hugetlbpage.c | 20 ----- arch/sh/mm/hugetlbpage.c | 12 --- arch/sparc/mm/hugetlbpage.c | 12 --- arch/tile/mm/hugetlbpage.c | 28 ------ arch/x86/mm/gup.c | 2 +- arch/x86/mm/hugetlbpage.c | 20 ++--- include/linux/hugetlb.h | 8 +- include/linux/swapops.h | 4 + mm/gup.c | 25 ++---- mm/hugetlb.c | 196 ++++++++++++++++++++++++++---------------- mm/migrate.c | 5 +- 17 files changed, 156 insertions(+), 226 deletions(-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href