Re: [patch 1/2] mm, migration: add destination page freeing callback
From: David Rientjes
Date: Thu May 01 2014 - 17:02:39 EST
On Thu, 1 May 2014, Naoya Horiguchi wrote:
> Looks good to me.
> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
>
Thanks!
> I have one comment below ...
>
> [snip]
>
> > @@ -1056,20 +1059,30 @@ static int unmap_and_move_huge_page(new_page_t get_new_page,
> > if (!page_mapped(hpage))
> > rc = move_to_new_page(new_hpage, hpage, 1, mode);
> >
> > - if (rc)
> > + if (rc != MIGRATEPAGE_SUCCESS)
> > remove_migration_ptes(hpage, hpage);
> >
> > if (anon_vma)
> > put_anon_vma(anon_vma);
> >
> > - if (!rc)
> > + if (rc == MIGRATEPAGE_SUCCESS)
> > hugetlb_cgroup_migrate(hpage, new_hpage);
> >
> > unlock_page(hpage);
> > out:
> > if (rc != -EAGAIN)
> > putback_active_hugepage(hpage);
> > - put_page(new_hpage);
> > +
> > + /*
> > + * If migration was not successful and there's a freeing callback, use
> > + * it. Otherwise, put_page() will drop the reference grabbed during
> > + * isolation.
> > + */
>
> This comment is true both for normal page and huge page, and people more likely
> to see unmap_and_move() at first, so this had better be (also) in unmap_and_move().
>
Ok!
--
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/