diff options
-rw-r--r-- | Documentation/ABI/stable/sysfs-devices-node | 2 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-kernel-mm-hugepages | 2 | ||||
-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.rst | 9 | ||||
-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.txt | 6 | ||||
-rw-r--r-- | Documentation/sysctl/vm.txt | 4 | ||||
-rw-r--r-- | Documentation/vm/00-INDEX | 10 | ||||
-rw-r--r-- | Documentation/vm/hwpoison.rst | 2 | ||||
-rw-r--r-- | Documentation/vm/index.rst | 5 | ||||
-rw-r--r-- | fs/Kconfig | 2 | ||||
-rw-r--r-- | fs/proc/task_mmu.c | 4 | ||||
-rw-r--r-- | mm/Kconfig | 5 |
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 | |||
90 | Contact: Lee Schermerhorn <lee.schermerhorn@hp.com> | 90 | Contact: Lee Schermerhorn <lee.schermerhorn@hp.com> |
91 | Description: | 91 | Description: |
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 | ||
68 | See Documentation/vm/pagemap.rst for more information about | 68 | See 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 | ||
18 | Here we document in detail how to interact with various mechanisms in | 18 | Here we document in detail how to interact with various mechanisms in |
19 | the Linux memory management. | 19 | the 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. |
103 | 16 - COMPOUND_TAIL | 103 | 16 - 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 |
119 | 25 - IDLE | 119 | 25 - 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 | ||
516 | The /proc/PID/clear_refs is used to reset the PG_Referenced and ACCESSED/YOUNG | 516 | The /proc/PID/clear_refs is used to reset the PG_Referenced and ACCESSED/YOUNG |
517 | bits on both physical and virtual pages associated with a process, and the | 517 | bits on both physical and virtual pages associated with a process, and the |
518 | soft-dirty bit on pte (see Documentation/vm/soft-dirty.rst for details). | 518 | soft-dirty bit on pte (see Documentation/admin-guide/mm/soft-dirty.rst |
519 | for details). | ||
519 | To clear the bits for all the pages associated with the process | 520 | To 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 | ||
537 | The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags | 538 | The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags |
538 | using /proc/kpageflags and number of times a page is mapped using | 539 | using /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 |
541 | Documentation/admin-guide/mm/pagemap.rst. | ||
540 | 542 | ||
541 | The /proc/pid/numa_maps is an extension based on maps, showing the memory | 543 | The /proc/pid/numa_maps is an extension based on maps, showing the memory |
542 | locality and binding policy, as well as the memory usage (in pages) of | 544 | locality 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 | ||
516 | Change the minimum size of the hugepage pool. | 516 | Change the minimum size of the hugepage pool. |
517 | 517 | ||
518 | See Documentation/vm/hugetlbpage.rst | 518 | See Documentation/admin-guide/mm/hugetlbpage.rst |
519 | 519 | ||
520 | ============================================================== | 520 | ============================================================== |
521 | 521 | ||
@@ -524,7 +524,7 @@ nr_overcommit_hugepages | |||
524 | Change the maximum size of the hugepage pool. The maximum is | 524 | Change the maximum size of the hugepage pool. The maximum is |
525 | nr_hugepages + nr_overcommit_hugepages. | 525 | nr_hugepages + nr_overcommit_hugepages. |
526 | 526 | ||
527 | See Documentation/vm/hugetlbpage.rst | 527 | See 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. |
13 | hmm.rst | 13 | hmm.rst |
14 | - Documentation of heterogeneous memory management | 14 | - Documentation of heterogeneous memory management |
15 | hugetlbpage.rst | ||
16 | - a brief summary of hugetlbpage support in the Linux kernel. | ||
17 | hugetlbfs_reserv.rst | 15 | hugetlbfs_reserv.rst |
18 | - A brief overview of hugetlbfs reservation design/implementation. | 16 | - A brief overview of hugetlbfs reservation design/implementation. |
19 | hwpoison.rst | 17 | hwpoison.rst |
20 | - explains what hwpoison is | 18 | - explains what hwpoison is |
21 | idle_page_tracking.rst | ||
22 | - description of the idle page tracking feature. | ||
23 | ksm.rst | 19 | ksm.rst |
24 | - how to use the Kernel Samepage Merging feature. | 20 | - how to use the Kernel Samepage Merging feature. |
25 | mmu_notifier.rst | 21 | mmu_notifier.rst |
@@ -34,16 +30,12 @@ page_frags.rst | |||
34 | - description of page fragments allocator | 30 | - description of page fragments allocator |
35 | page_migration.rst | 31 | page_migration.rst |
36 | - description of page migration in NUMA systems. | 32 | - description of page migration in NUMA systems. |
37 | pagemap.rst | ||
38 | - pagemap, from the userspace perspective | ||
39 | page_owner.rst | 33 | page_owner.rst |
40 | - tracking about who allocated each page | 34 | - tracking about who allocated each page |
41 | remap_file_pages.rst | 35 | remap_file_pages.rst |
42 | - a note about remap_file_pages() system call | 36 | - a note about remap_file_pages() system call |
43 | slub.rst | 37 | slub.rst |
44 | - a short users guide for SLUB. | 38 | - a short users guide for SLUB. |
45 | soft-dirty.rst | ||
46 | - short explanation for soft-dirty PTEs | ||
47 | split_page_table_lock.rst | 39 | split_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. |
49 | swap_numa.rst | 41 | swap_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. |
53 | unevictable-lru.rst | 45 | unevictable-lru.rst |
54 | - Unevictable LRU infrastructure | 46 | - Unevictable LRU infrastructure |
55 | userfaultfd.rst | ||
56 | - description of userfaultfd system call | ||
57 | z3fold.txt | 47 | z3fold.txt |
58 | - outline of z3fold allocator for storing compressed pages | 48 | - outline of z3fold allocator for storing compressed pages |
59 | zsmalloc.rst | 49 | zsmalloc.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 | ||
27 | Kernel developers MM documentation | 22 | Kernel 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 | ||
535 | config ZSWAP | 535 | config 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 |
662 | config ARCH_HAS_ZONE_DEVICE | 663 | config ARCH_HAS_ZONE_DEVICE |