On Tue, Jul 01, 2014 at 09:36:15AM +0900, Minchan Kim wrote: > + do { > + /* > + * XXX: We can optimize with supporting Hugepage free > + * if the range covers. > + */ > + next = pmd_addr_end(addr, end); > + if (pmd_trans_huge(*pmd)) > + split_huge_page_pmd(vma, addr, pmd); Could you implement proper THP support before upstreaming the feature? It shouldn't be a big deal. > + /* > + * Here there can be other concurrent MADV_DONTNEED or > + * trans huge page faults running, and if the pmd is > + * none or trans huge it can change under us. This is > + * because MADV_LAZYFREE holds the mmap_sem in read > + * mode. > + */ > + if (pmd_none_or_trans_huge_or_clear_bad(pmd)) > + goto next; > + next = madvise_free_pte_range(tlb, vma, pmd, addr, next); > +next: > + cond_resched(); > + } while (pmd++, addr = next, addr != end); -- Kirill A. Shutemov -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html