summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/ABI/stable/sysfs-devices-node2
-rw-r--r--Documentation/ABI/testing/sysfs-kernel-mm-hugepages2
-rw-r--r--Documentation/admin-guide/mm/hugetlbpage.rst (renamed from Documentation/vm/hugetlbpage.rst)0
-rw-r--r--Documentation/admin-guide/mm/idle_page_tracking.rst (renamed from Documentation/vm/idle_page_tracking.rst)2
-rw-r--r--Documentation/admin-guide/mm/index.rst9
-rw-r--r--Documentation/admin-guide/mm/pagemap.rst (renamed from Documentation/vm/pagemap.rst)6
-rw-r--r--Documentation/admin-guide/mm/soft-dirty.rst (renamed from Documentation/vm/soft-dirty.rst)0
-rw-r--r--Documentation/admin-guide/mm/userfaultfd.rst (renamed from Documentation/vm/userfaultfd.rst)0
-rw-r--r--Documentation/filesystems/proc.txt6
-rw-r--r--Documentation/sysctl/vm.txt4
-rw-r--r--Documentation/vm/00-INDEX10
-rw-r--r--Documentation/vm/hwpoison.rst2
-rw-r--r--Documentation/vm/index.rst5
-rw-r--r--fs/Kconfig2
-rw-r--r--fs/proc/task_mmu.c4
-rw-r--r--mm/Kconfig5
16 files changed, 28 insertions, 31 deletions
diff --git a/Documentation/ABI/stable/sysfs-devices-node b/Documentation/ABI/stable/sysfs-devices-node
index b38f4b734567..3e90e1f3bf0a 100644
--- a/Documentation/ABI/stable/sysfs-devices-node
+++ b/Documentation/ABI/stable/sysfs-devices-node
@@ -90,4 +90,4 @@ Date: December 2009
90Contact: Lee Schermerhorn <lee.schermerhorn@hp.com> 90Contact: Lee Schermerhorn <lee.schermerhorn@hp.com>
91Description: 91Description:
92 The node's huge page size control/query attributes. 92 The node's huge page size control/query attributes.
93 See Documentation/vm/hugetlbpage.rst \ No newline at end of file 93 See Documentation/admin-guide/mm/hugetlbpage.rst \ No newline at end of file
diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-hugepages b/Documentation/ABI/testing/sysfs-kernel-mm-hugepages
index 5140b233356c..fdaa2162fae1 100644
--- a/Documentation/ABI/testing/sysfs-kernel-mm-hugepages
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-hugepages
@@ -12,4 +12,4 @@ Description:
12 free_hugepages 12 free_hugepages
13 surplus_hugepages 13 surplus_hugepages
14 resv_hugepages 14 resv_hugepages
15 See Documentation/vm/hugetlbpage.rst for details. 15 See Documentation/admin-guide/mm/hugetlbpage.rst for details.
diff --git a/Documentation/vm/hugetlbpage.rst b/Documentation/admin-guide/mm/hugetlbpage.rst
index 2b374d10284d..2b374d10284d 100644
--- a/Documentation/vm/hugetlbpage.rst
+++ b/Documentation/admin-guide/mm/hugetlbpage.rst
diff --git a/Documentation/vm/idle_page_tracking.rst b/Documentation/admin-guide/mm/idle_page_tracking.rst
index d1c4609a5220..92e3a25d2deb 100644
--- a/Documentation/vm/idle_page_tracking.rst
+++ b/Documentation/admin-guide/mm/idle_page_tracking.rst
@@ -65,7 +65,7 @@ workload one should:
65 are not reclaimable, he or she can filter them out using 65 are not reclaimable, he or she can filter them out using
66 ``/proc/kpageflags``. 66 ``/proc/kpageflags``.
67 67
68See Documentation/vm/pagemap.rst for more information about 68See Documentation/admin-guide/mm/pagemap.rst for more information about
69``/proc/pid/pagemap``, ``/proc/kpageflags``, and ``/proc/kpagecgroup``. 69``/proc/pid/pagemap``, ``/proc/kpageflags``, and ``/proc/kpagecgroup``.
70 70
71.. _impl_details: 71.. _impl_details:
diff --git a/Documentation/admin-guide/mm/index.rst b/Documentation/admin-guide/mm/index.rst
index c47c16e13a18..6c8b554464bb 100644
--- a/Documentation/admin-guide/mm/index.rst
+++ b/Documentation/admin-guide/mm/index.rst
@@ -17,3 +17,12 @@ are described in Documentation/sysctl/vm.txt and in `man 5 proc`_.
17 17
18Here we document in detail how to interact with various mechanisms in 18Here we document in detail how to interact with various mechanisms in
19the Linux memory management. 19the Linux memory management.
20
21.. toctree::
22 :maxdepth: 1
23
24 hugetlbpage
25 idle_page_tracking
26 pagemap
27 soft-dirty
28 userfaultfd
diff --git a/Documentation/vm/pagemap.rst b/Documentation/admin-guide/mm/pagemap.rst
index 7ba8cbd57ad3..053ca64fd47a 100644
--- a/Documentation/vm/pagemap.rst
+++ b/Documentation/admin-guide/mm/pagemap.rst
@@ -18,7 +18,7 @@ There are four components to pagemap:
18 * Bits 0-54 page frame number (PFN) if present 18 * Bits 0-54 page frame number (PFN) if present
19 * Bits 0-4 swap type if swapped 19 * Bits 0-4 swap type if swapped
20 * Bits 5-54 swap offset if swapped 20 * Bits 5-54 swap offset if swapped
21 * Bit 55 pte is soft-dirty (see Documentation/vm/soft-dirty.rst) 21 * Bit 55 pte is soft-dirty (see Documentation/admin-guide/mm/soft-dirty.rst)
22 * Bit 56 page exclusively mapped (since 4.2) 22 * Bit 56 page exclusively mapped (since 4.2)
23 * Bits 57-60 zero 23 * Bits 57-60 zero
24 * Bit 61 page is file-page or shared-anon (since 3.5) 24 * Bit 61 page is file-page or shared-anon (since 3.5)
@@ -97,7 +97,7 @@ Short descriptions to the page flags
97 A compound page with order N consists of 2^N physically contiguous pages. 97 A compound page with order N consists of 2^N physically contiguous pages.
98 A compound page with order 2 takes the form of "HTTT", where H donates its 98 A compound page with order 2 takes the form of "HTTT", where H donates its
99 head page and T donates its tail page(s). The major consumers of compound 99 head page and T donates its tail page(s). The major consumers of compound
100 pages are hugeTLB pages (Documentation/vm/hugetlbpage.rst), the SLUB etc. 100 pages are hugeTLB pages (Documentation/admin-guide/mm/hugetlbpage.rst), the SLUB etc.
101 memory allocators and various device drivers. However in this interface, 101 memory allocators and various device drivers. However in this interface,
102 only huge/giga pages are made visible to end users. 102 only huge/giga pages are made visible to end users.
10316 - COMPOUND_TAIL 10316 - COMPOUND_TAIL
@@ -118,7 +118,7 @@ Short descriptions to the page flags
118 zero page for pfn_zero or huge_zero page 118 zero page for pfn_zero or huge_zero page
11925 - IDLE 11925 - IDLE
120 page has not been accessed since it was marked idle (see 120 page has not been accessed since it was marked idle (see
121 Documentation/vm/idle_page_tracking.rst). Note that this flag may be 121 Documentation/admin-guide/mm/idle_page_tracking.rst). Note that this flag may be
122 stale in case the page was accessed via a PTE. To make sure the flag 122 stale in case the page was accessed via a PTE. To make sure the flag
123 is up-to-date one has to read ``/sys/kernel/mm/page_idle/bitmap`` first. 123 is up-to-date one has to read ``/sys/kernel/mm/page_idle/bitmap`` first.
124 124
diff --git a/Documentation/vm/soft-dirty.rst b/Documentation/admin-guide/mm/soft-dirty.rst
index cb0cfd6672fa..cb0cfd6672fa 100644
--- a/Documentation/vm/soft-dirty.rst
+++ b/Documentation/admin-guide/mm/soft-dirty.rst
diff --git a/Documentation/vm/userfaultfd.rst b/Documentation/admin-guide/mm/userfaultfd.rst
index 5048cf661a8a..5048cf661a8a 100644
--- a/Documentation/vm/userfaultfd.rst
+++ b/Documentation/admin-guide/mm/userfaultfd.rst
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index 2d3984c70feb..ef53f808288d 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -515,7 +515,8 @@ guarantees:
515 515
516The /proc/PID/clear_refs is used to reset the PG_Referenced and ACCESSED/YOUNG 516The /proc/PID/clear_refs is used to reset the PG_Referenced and ACCESSED/YOUNG
517bits on both physical and virtual pages associated with a process, and the 517bits on both physical and virtual pages associated with a process, and the
518soft-dirty bit on pte (see Documentation/vm/soft-dirty.rst for details). 518soft-dirty bit on pte (see Documentation/admin-guide/mm/soft-dirty.rst
519for details).
519To clear the bits for all the pages associated with the process 520To clear the bits for all the pages associated with the process
520 > echo 1 > /proc/PID/clear_refs 521 > echo 1 > /proc/PID/clear_refs
521 522
@@ -536,7 +537,8 @@ Any other value written to /proc/PID/clear_refs will have no effect.
536 537
537The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags 538The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags
538using /proc/kpageflags and number of times a page is mapped using 539using /proc/kpageflags and number of times a page is mapped using
539/proc/kpagecount. For detailed explanation, see Documentation/vm/pagemap.rst. 540/proc/kpagecount. For detailed explanation, see
541Documentation/admin-guide/mm/pagemap.rst.
540 542
541The /proc/pid/numa_maps is an extension based on maps, showing the memory 543The /proc/pid/numa_maps is an extension based on maps, showing the memory
542locality and binding policy, as well as the memory usage (in pages) of 544locality and binding policy, as well as the memory usage (in pages) of
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index c8e6d5b031e4..697ef8c225df 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -515,7 +515,7 @@ nr_hugepages
515 515
516Change the minimum size of the hugepage pool. 516Change the minimum size of the hugepage pool.
517 517
518See Documentation/vm/hugetlbpage.rst 518See Documentation/admin-guide/mm/hugetlbpage.rst
519 519
520============================================================== 520==============================================================
521 521
@@ -524,7 +524,7 @@ nr_overcommit_hugepages
524Change the maximum size of the hugepage pool. The maximum is 524Change the maximum size of the hugepage pool. The maximum is
525nr_hugepages + nr_overcommit_hugepages. 525nr_hugepages + nr_overcommit_hugepages.
526 526
527See Documentation/vm/hugetlbpage.rst 527See Documentation/admin-guide/mm/hugetlbpage.rst
528 528
529============================================================== 529==============================================================
530 530
diff --git a/Documentation/vm/00-INDEX b/Documentation/vm/00-INDEX
index cda564d55b3c..f8a96ca16b7a 100644
--- a/Documentation/vm/00-INDEX
+++ b/Documentation/vm/00-INDEX
@@ -12,14 +12,10 @@ highmem.rst
12 - Outline of highmem and common issues. 12 - Outline of highmem and common issues.
13hmm.rst 13hmm.rst
14 - Documentation of heterogeneous memory management 14 - Documentation of heterogeneous memory management
15hugetlbpage.rst
16 - a brief summary of hugetlbpage support in the Linux kernel.
17hugetlbfs_reserv.rst 15hugetlbfs_reserv.rst
18 - A brief overview of hugetlbfs reservation design/implementation. 16 - A brief overview of hugetlbfs reservation design/implementation.
19hwpoison.rst 17hwpoison.rst
20 - explains what hwpoison is 18 - explains what hwpoison is
21idle_page_tracking.rst
22 - description of the idle page tracking feature.
23ksm.rst 19ksm.rst
24 - how to use the Kernel Samepage Merging feature. 20 - how to use the Kernel Samepage Merging feature.
25mmu_notifier.rst 21mmu_notifier.rst
@@ -34,16 +30,12 @@ page_frags.rst
34 - description of page fragments allocator 30 - description of page fragments allocator
35page_migration.rst 31page_migration.rst
36 - description of page migration in NUMA systems. 32 - description of page migration in NUMA systems.
37pagemap.rst
38 - pagemap, from the userspace perspective
39page_owner.rst 33page_owner.rst
40 - tracking about who allocated each page 34 - tracking about who allocated each page
41remap_file_pages.rst 35remap_file_pages.rst
42 - a note about remap_file_pages() system call 36 - a note about remap_file_pages() system call
43slub.rst 37slub.rst
44 - a short users guide for SLUB. 38 - a short users guide for SLUB.
45soft-dirty.rst
46 - short explanation for soft-dirty PTEs
47split_page_table_lock.rst 39split_page_table_lock.rst
48 - Separate per-table lock to improve scalability of the old page_table_lock. 40 - Separate per-table lock to improve scalability of the old page_table_lock.
49swap_numa.rst 41swap_numa.rst
@@ -52,8 +44,6 @@ transhuge.rst
52 - Transparent Hugepage Support, alternative way of using hugepages. 44 - Transparent Hugepage Support, alternative way of using hugepages.
53unevictable-lru.rst 45unevictable-lru.rst
54 - Unevictable LRU infrastructure 46 - Unevictable LRU infrastructure
55userfaultfd.rst
56 - description of userfaultfd system call
57z3fold.txt 47z3fold.txt
58 - outline of z3fold allocator for storing compressed pages 48 - outline of z3fold allocator for storing compressed pages
59zsmalloc.rst 49zsmalloc.rst
diff --git a/Documentation/vm/hwpoison.rst b/Documentation/vm/hwpoison.rst
index 070aa1e716b7..09bd24a92784 100644
--- a/Documentation/vm/hwpoison.rst
+++ b/Documentation/vm/hwpoison.rst
@@ -155,7 +155,7 @@ Testing
155 value). This allows stress testing of many kinds of 155 value). This allows stress testing of many kinds of
156 pages. The page_flags are the same as in /proc/kpageflags. The 156 pages. The page_flags are the same as in /proc/kpageflags. The
157 flag bits are defined in include/linux/kernel-page-flags.h and 157 flag bits are defined in include/linux/kernel-page-flags.h and
158 documented in Documentation/vm/pagemap.rst 158 documented in Documentation/admin-guide/mm/pagemap.rst
159 159
160* Architecture specific MCE injector 160* Architecture specific MCE injector
161 161
diff --git a/Documentation/vm/index.rst b/Documentation/vm/index.rst
index 6c451421a01e..ed58cb9f9675 100644
--- a/Documentation/vm/index.rst
+++ b/Documentation/vm/index.rst
@@ -13,15 +13,10 @@ various features of the Linux memory management
13.. toctree:: 13.. toctree::
14 :maxdepth: 1 14 :maxdepth: 1
15 15
16 hugetlbpage
17 idle_page_tracking
18 ksm 16 ksm
19 numa_memory_policy 17 numa_memory_policy
20 pagemap
21 transhuge 18 transhuge
22 soft-dirty
23 swap_numa 19 swap_numa
24 userfaultfd
25 zswap 20 zswap
26 21
27Kernel developers MM documentation 22Kernel developers MM documentation
diff --git a/fs/Kconfig b/fs/Kconfig
index ba53dc2a9691..ac4ac908f001 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -196,7 +196,7 @@ config HUGETLBFS
196 help 196 help
197 hugetlbfs is a filesystem backing for HugeTLB pages, based on 197 hugetlbfs is a filesystem backing for HugeTLB pages, based on
198 ramfs. For architectures that support it, say Y here and read 198 ramfs. For architectures that support it, say Y here and read
199 <file:Documentation/vm/hugetlbpage.rst> for details. 199 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
200 200
201 If unsure, say N. 201 If unsure, say N.
202 202
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 333cda80c3dd..ed48b6e36202 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -937,7 +937,7 @@ static inline void clear_soft_dirty(struct vm_area_struct *vma,
937 /* 937 /*
938 * The soft-dirty tracker uses #PF-s to catch writes 938 * The soft-dirty tracker uses #PF-s to catch writes
939 * to pages, so write-protect the pte as well. See the 939 * to pages, so write-protect the pte as well. See the
940 * Documentation/vm/soft-dirty.rst for full description 940 * Documentation/admin-guide/mm/soft-dirty.rst for full description
941 * of how soft-dirty works. 941 * of how soft-dirty works.
942 */ 942 */
943 pte_t ptent = *pte; 943 pte_t ptent = *pte;
@@ -1417,7 +1417,7 @@ static int pagemap_hugetlb_range(pte_t *ptep, unsigned long hmask,
1417 * Bits 0-54 page frame number (PFN) if present 1417 * Bits 0-54 page frame number (PFN) if present
1418 * Bits 0-4 swap type if swapped 1418 * Bits 0-4 swap type if swapped
1419 * Bits 5-54 swap offset if swapped 1419 * Bits 5-54 swap offset if swapped
1420 * Bit 55 pte is soft-dirty (see Documentation/vm/soft-dirty.rst) 1420 * Bit 55 pte is soft-dirty (see Documentation/admin-guide/mm/soft-dirty.rst)
1421 * Bit 56 page exclusively mapped 1421 * Bit 56 page exclusively mapped
1422 * Bits 57-60 zero 1422 * Bits 57-60 zero
1423 * Bit 61 page is file-page or shared-anon 1423 * Bit 61 page is file-page or shared-anon
diff --git a/mm/Kconfig b/mm/Kconfig
index 9bdb0189caaf..2d7ef6207e1e 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -530,7 +530,7 @@ config MEM_SOFT_DIRTY
530 into a page just as regular dirty bit, but unlike the latter 530 into a page just as regular dirty bit, but unlike the latter
531 it can be cleared by hands. 531 it can be cleared by hands.
532 532
533 See Documentation/vm/soft-dirty.rst for more details. 533 See Documentation/admin-guide/mm/soft-dirty.rst for more details.
534 534
535config ZSWAP 535config ZSWAP
536 bool "Compressed cache for swap pages (EXPERIMENTAL)" 536 bool "Compressed cache for swap pages (EXPERIMENTAL)"
@@ -656,7 +656,8 @@ config IDLE_PAGE_TRACKING
656 be useful to tune memory cgroup limits and/or for job placement 656 be useful to tune memory cgroup limits and/or for job placement
657 within a compute cluster. 657 within a compute cluster.
658 658
659 See Documentation/vm/idle_page_tracking.rst for more details. 659 See Documentation/admin-guide/mm/idle_page_tracking.rst for
660 more details.
660 661
661# arch_add_memory() comprehends device memory 662# arch_add_memory() comprehends device memory
662config ARCH_HAS_ZONE_DEVICE 663config ARCH_HAS_ZONE_DEVICE