Thread (15 messages) 15 messages, 6 authors, 2012-10-03

Re: [patch -mm] mm, thp: fix mlock statistics fix

From: Hugh Dickins <hughd@google.com>
Date: 2012-10-03 21:47:44
Also in: lkml

On Wed, 3 Oct 2012, Andrew Morton wrote:
On Wed, 3 Oct 2012 14:10:41 -0700 (PDT)
David Rientjes [off-list ref] wrote:
quoted
quoted
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
quoted hunk ↗ jump to hunk
From: Andrew Morton <akpm@linux-foundation.org>
Subject: mm: document PageHuge somewhat

Cc: David Rientjes <rientjes@google.com>
Cc: Mel Gorman <redacted>
Cc: Andrea Arcangeli <redacted>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 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@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help