aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/vm/pagemap.txt7
-rw-r--r--fs/proc/page.c3
-rw-r--r--include/uapi/linux/kernel-page-flags.h1
3 files changed, 11 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
diff --git a/fs/proc/page.c b/fs/proc/page.c
index c2d29edcaa6b..0b8286450a93 100644
--- a/fs/proc/page.c
+++ b/fs/proc/page.c
@@ -150,6 +150,9 @@ u64 stable_page_flags(struct page *page)
150 if (PageBalloon(page)) 150 if (PageBalloon(page))
151 u |= 1 << KPF_BALLOON; 151 u |= 1 << KPF_BALLOON;
152 152
153 if (page_is_idle(page))
154 u |= 1 << KPF_IDLE;
155
153 u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked); 156 u |= kpf_copy_bit(k, KPF_LOCKED, PG_locked);
154 157
155 u |= kpf_copy_bit(k, KPF_SLAB, PG_slab); 158 u |= kpf_copy_bit(k, KPF_SLAB, PG_slab);
diff --git a/include/uapi/linux/kernel-page-flags.h b/include/uapi/linux/kernel-page-flags.h
index a6c4962e5d46..5da5f8751ce7 100644
--- a/include/uapi/linux/kernel-page-flags.h
+++ b/include/uapi/linux/kernel-page-flags.h
@@ -33,6 +33,7 @@
33#define KPF_THP 22 33#define KPF_THP 22
34#define KPF_BALLOON 23 34#define KPF_BALLOON 23
35#define KPF_ZERO_PAGE 24 35#define KPF_ZERO_PAGE 24
36#define KPF_IDLE 25
36 37
37 38
38#endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */ 39#endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */