Re: [PATCHv5 05/28] mm: adjust FOLL_SPLIT for new refcounting

From: Kirill A. Shutemov
Date: Fri May 15 2015 - 07:37:17 EST


On Fri, May 15, 2015 at 01:05:27PM +0200, Vlastimil Babka wrote:
> On 04/23/2015 11:03 PM, Kirill A. Shutemov wrote:
> >We need to prepare kernel to allow transhuge pages to be mapped with
> >ptes too. We need to handle FOLL_SPLIT in follow_page_pte().
> >
> >Also we use split_huge_page() directly instead of split_huge_page_pmd().
> >split_huge_page_pmd() will gone.
>
> You still call split_huge_page_pmd() for the is_huge_zero_page(page) case.

For huge zero page we split PMD into table of zero pages and don't touch
compound page under it. That's what split_huge_page_pmd() (renamed into
split_huge_pmd()) will do by the end of patchset.

> Also, of the code around split_huge_page() you basically took from
> split_huge_page_pmd() and open-coded into follow_page_mask(), you didn't
> include the mmu notifier calls. Why are they needed in split_huge_page_pmd()
> but not here?

We do need mmu notifier in split_huge_page_pmd() for huge zero page. When
we need to split compound page we go into split_huge_page() which takes
care about mmut notifiers.

--
Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/