On Wed, 3 Oct 2012, Andrew Morton wrote: > On Wed, 3 Oct 2012 14:10:41 -0700 (PDT) > David Rientjes <rientjes@xxxxxxxxxx> wrote: > > > > The free_page_mlock() hunk gets dropped because free_page_mlock() is > > > removed. And clear_page_mlock() doesn't need this treatment. But > > > please check my handiwork. > > > > > > > I reviewed what was merged into -mm and clear_page_mlock() does need this > > fix as well. > > argh, it got me *again*. grr. I've no objection to more documentation on PageHuge, but neither you nor it were to blame for that "oversight". It's simply that David's original patch clearly did not need such a change in clear_page_mlock(), because it could never be necessary from where it was then called; but I changed where it's called, whereupon it becomes evident that the extra is needed. "evident" puts it rather too strongly. Most munlocking happens through munlock_vma_page() instead, but the clear_page_mlock() path covers truncation. THPages cannot be file pages at present, but perhaps they could be anonymous pages COWed from file pages (I've not checked the exact criteria THP applies)? In which case, subject to truncation too. Hugh > > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: mm: document PageHuge somewhat > > Cc: David Rientjes <rientjes@xxxxxxxxxx> > Cc: Mel Gorman <mel@xxxxxxxxx> > Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > mm/hugetlb.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff -puN mm/hugetlb.c~mm-document-pagehuge-somewhat mm/hugetlb.c > --- a/mm/hugetlb.c~mm-document-pagehuge-somewhat > +++ a/mm/hugetlb.c > @@ -671,6 +671,11 @@ static void prep_compound_gigantic_page( > } > } > > +/* > + * PageHuge() only returns true for hugetlbfs pages, but not for normal or > + * transparent huge pages. See the PageTransHuge() documentation for more > + * details. > + */ > int PageHuge(struct page *page) > { > compound_page_dtor *dtor; > _ -- 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=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>