On Wed, Nov 05, 2014 at 04:49:36PM +0200, Kirill A. Shutemov wrote: > FOLL_SPLIT is used only in two places: migration and s390. > > Let's replace it with explicit split and remove FOLL_SPLIT. > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > --- ... > @@ -1246,6 +1246,11 @@ static int do_move_page_to_node_array(struct mm_struct *mm, > if (!page) > goto set_status; > > + if (PageTransHuge(page) && split_huge_page(page)) { > + err = -EBUSY; > + goto set_status; > + } > + This check makes split_huge_page() be called for hugetlb pages, which triggers BUG_ON. So could you do this after if (PageHuge) block below? And I think that we have "Node already in the right place" check afterward, so I hope that moving down this check also helps us reduce thp splitting. Thanks, Naoya Horiguchi > /* Use PageReserved to check for zero page */ > if (PageReserved(page)) > goto put_and_set; -- 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