summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2009-09-22 02:03:00 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-22 16:17:38 +0200
commitceddc3a52d783fabbf1ba623601419b9d6337194 (patch)
tree651d0fd4d5bf2455468f90364b88f01f982d79af /mm
parentmm: return boolean from page_has_private() (diff)
downloadlinux-ceddc3a52d783fabbf1ba623601419b9d6337194.tar.xz
linux-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>
Diffstat (limited to 'mm')
-rw-r--r--mm/vmscan.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index f5b5f029288c..5be8107e7758 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;
}