| From | Naoya Horiguchi <> | Subject | Re: [PATCH 01/19] mm, thp: drop FOLL_SPLIT | Date | Tue, 25 Nov 2014 03:01:16 +0000 |
| |
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@linux.intel.com> > --- ... > @@ -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;
|