summaryrefslogtreecommitdiffstats
path: root/Documentation/vm
diff options
context:
space:
mode:
authorVladimir Davydov <vdavydov@parallels.com>2015-09-09 18:35:48 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-09-10 16:29:01 -0400
commitf074a8f49eb87cde95ac9d040ad5e7ea4f029738 (patch)
treec78d0a5386ee6d9db9de32c733df404e783088d5 /Documentation/vm
parent33c3fc71c8cfa3cc3a98beaa901c069c177dc295 (diff)
proc: export idle flag via kpageflags
As noted by Minchan, a benefit of reading idle flag from /proc/kpageflags is that one can easily filter dirty and/or unevictable pages while estimating the size of unused memory. Note that idle flag read from /proc/kpageflags may be stale in case the page was accessed via a PTE, because it would be too costly to iterate over all page mappings on each /proc/kpageflags read to provide an up-to-date value. To make sure the flag is up-to-date one has to read /sys/kernel/mm/page_idle/bitmap first. Signed-off-by: Vladimir Davydov <vdavydov@parallels.com> Reviewed-by: Andres Lagar-Cavilla <andreslc@google.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.cz> Cc: Greg Thelen <gthelen@google.com> Cc: Michel Lespinasse <walken@google.com> Cc: David Rientjes <rientjes@google.com> Cc: Pavel Emelyanov <xemul@parallels.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/vm')
-rw-r--r--Documentation/vm/pagemap.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/vm/pagemap.txt b/Documentation/vm/pagemap.txt
index ce294b0aace4..0e1e55588b59 100644
--- a/Documentation/vm/pagemap.txt
+++ b/Documentation/vm/pagemap.txt
@@ -70,6 +70,7 @@ There are four components to pagemap:
70 22. THP 70 22. THP
71 23. BALLOON 71 23. BALLOON
72 24. ZERO_PAGE 72 24. ZERO_PAGE
73 25. IDLE
73 74
74 * /proc/kpagecgroup. This file contains a 64-bit inode number of the 75 * /proc/kpagecgroup. This file contains a 64-bit inode number of the
75 memory cgroup each page is charged to, indexed by PFN. Only available when 76 memory cgroup each page is charged to, indexed by PFN. Only available when
@@ -120,6 +121,12 @@ Short descriptions to the page flags:
12024. ZERO_PAGE 12124. ZERO_PAGE
121 zero page for pfn_zero or huge_zero page 122 zero page for pfn_zero or huge_zero page
122 123
12425. IDLE
125 page has not been accessed since it was marked idle (see
126 Documentation/vm/idle_page_tracking.txt). Note that this flag may be
127 stale in case the page was accessed via a PTE. To make sure the flag
128 is up-to-date one has to read /sys/kernel/mm/page_idle/bitmap first.
129
123 [IO related page flags] 130 [IO related page flags]
124 1. ERROR IO error occurred 131 1. ERROR IO error occurred
125 3. UPTODATE page has up-to-date data 132 3. UPTODATE page has up-to-date data