At unmap, fork and remap time hugetlb address ranges are linearly scanned. We can optimize these scans if the ranges are sparsely populated. Also, enable page table "Lazy copy" for hugetlb at fork. Mike Kravetz (3): hugetlb: skip to end of PT page mapping when pte not present hugetlb: do not update address in huge_pmd_unshare hugetlb: Lazy page table copies in fork() include/linux/hugetlb.h | 5 +- mm/hugetlb.c | 104 ++++++++++++++++++++++++++++------------ mm/memory.c | 2 +- mm/rmap.c | 4 +- 4 files changed, 79 insertions(+), 36 deletions(-) -- 2.35.3