summaryrefslogtreecommitdiffstats
path: root/man5/proc_kpageflags.5
blob: bb43fb79ee3b19ed61d6b01007e36a8c2e12c126 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
'\" t
.\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com>
.\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: GPL-3.0-or-later
.\"
.TH proc_kpageflags 5 (date) "Linux man-pages (unreleased)"
.SH NAME
/proc/kpageflags \- physical pages frame masks
.SH DESCRIPTION
.TP
.IR /proc/kpageflags " (since Linux 2.6.25)"
This file contains 64-bit masks corresponding to each physical page frame;
it is indexed by page frame number (see the discussion of
.IR /proc/ pid /pagemap ).
The bits are as follows:
.RS
.IP
.TS
r l l l.
0	-	KPF_LOCKED
1	-	KPF_ERROR
2	-	KPF_REFERENCED
3	-	KPF_UPTODATE
4	-	KPF_DIRTY
5	-	KPF_LRU
6	-	KPF_ACTIVE
7	-	KPF_SLAB
8	-	KPF_WRITEBACK
9	-	KPF_RECLAIM
10	-	KPF_BUDDY
11	-	KPF_MMAP	(since Linux 2.6.31)
12	-	KPF_ANON	(since Linux 2.6.31)
13	-	KPF_SWAPCACHE	(since Linux 2.6.31)
14	-	KPF_SWAPBACKED	(since Linux 2.6.31)
15	-	KPF_COMPOUND_HEAD	(since Linux 2.6.31)
16	-	KPF_COMPOUND_TAIL	(since Linux 2.6.31)
17	-	KPF_HUGE	(since Linux 2.6.31)
18	-	KPF_UNEVICTABLE	(since Linux 2.6.31)
19	-	KPF_HWPOISON	(since Linux 2.6.31)
20	-	KPF_NOPAGE	(since Linux 2.6.31)
21	-	KPF_KSM	(since Linux 2.6.32)
22	-	KPF_THP	(since Linux 3.4)
23	-	KPF_BALLOON	(since Linux 3.18)
.\" KPF_BALLOON: commit 09316c09dde33aae14f34489d9e3d243ec0d5938
24	-	KPF_ZERO_PAGE	(since Linux 4.0)
.\" KPF_ZERO_PAGE: commit 56873f43abdcd574b25105867a990f067747b2f4
25	-	KPF_IDLE	(since Linux 4.3)
.\" KPF_IDLE: commit f074a8f49eb87cde95ac9d040ad5e7ea4f029738
26	-	KPF_PGTABLE	(since Linux 4.18)
.\" KPF_PGTABLE: commit 1d40a5ea01d53251c23c7be541d3f4a656cfc537
.TE
.RE
.IP
For further details on the meanings of these bits,
see the kernel source file
.IR Documentation/admin\-guide/mm/pagemap.rst .
Before Linux 2.6.29,
.\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
.\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
.BR KPF_WRITEBACK ,
.BR KPF_RECLAIM ,
.BR KPF_BUDDY ,
and
.B KPF_LOCKED
did not report correctly.
.IP
The
.I /proc/kpageflags
file is present only if the
.B CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
.SH SEE ALSO
.BR proc (5)