summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2009-09-21 17:03:00 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-22 07:17:38 -0700
commitceddc3a52d783fabbf1ba623601419b9d6337194 (patch)
tree651d0fd4d5bf2455468f90364b88f01f982d79af
parentedcf4748cd56adcdf0856cc99ef108a4ea3ac7fe (diff)
downloadlinux-3.10-ceddc3a52d783fabbf1ba623601419b9d6337194.tar.gz
linux-3.10-ceddc3a52d783fabbf1ba623601419b9d6337194.tar.bz2
linux-3.10-ceddc3a52d783fabbf1ba623601419b9d6337194.zip
mm: document is_page_cache_freeable()
Enlighten the reader of this code about what reference count makes a page cache page freeable. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Christoph Lameter <cl@linux-foundation.org> Reviewed-by: Christoph Lameter <cl@linux-foundation.org> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/vmscan.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index f5b5f029288..5be8107e775 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -286,6 +286,11 @@ static inline int page_mapping_inuse(struct page *page)
static inline int is_page_cache_freeable(struct page *page)
{
+ /*
+ * A freeable page cache page is referenced only by the caller
+ * that isolated the page, the page cache radix tree and
+ * optional buffer heads at page->private.
+ */
return page_count(page) - page_has_private(page) == 2;
}