Commit ee65728e authored by Mike Rapoport's avatar Mike Rapoport Committed by akpm

docs: rename Documentation/vm to Documentation/mm

so it will be consistent with code mm directory and with
Documentation/admin-guide/mm and won't be confused with virtual machines.
Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
Suggested-by: default avatarMatthew Wilcox <willy@infradead.org>
Tested-by: default avatarIra Weiny <ira.weiny@intel.com>
Acked-by: default avatarJonathan Corbet <corbet@lwn.net>
Acked-by: default avatarWu XiangCheng <bobwxc@email.cn>
parent 46a3b112
...@@ -41,7 +41,7 @@ Description: Kernel Samepage Merging daemon sysfs interface ...@@ -41,7 +41,7 @@ Description: Kernel Samepage Merging daemon sysfs interface
sleep_millisecs: how many milliseconds ksm should sleep between sleep_millisecs: how many milliseconds ksm should sleep between
scans. scans.
See Documentation/vm/ksm.rst for more information. See Documentation/mm/ksm.rst for more information.
What: /sys/kernel/mm/ksm/merge_across_nodes What: /sys/kernel/mm/ksm/merge_across_nodes
Date: January 2013 Date: January 2013
......
...@@ -37,7 +37,7 @@ Description: ...@@ -37,7 +37,7 @@ Description:
The alloc_calls file is read-only and lists the kernel code The alloc_calls file is read-only and lists the kernel code
locations from which allocations for this cache were performed. locations from which allocations for this cache were performed.
The alloc_calls file only contains information if debugging is The alloc_calls file only contains information if debugging is
enabled for that cache (see Documentation/vm/slub.rst). enabled for that cache (see Documentation/mm/slub.rst).
What: /sys/kernel/slab/<cache>/alloc_fastpath What: /sys/kernel/slab/<cache>/alloc_fastpath
Date: February 2008 Date: February 2008
...@@ -219,7 +219,7 @@ Contact: Pekka Enberg <penberg@cs.helsinki.fi>, ...@@ -219,7 +219,7 @@ Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
Description: Description:
The free_calls file is read-only and lists the locations of The free_calls file is read-only and lists the locations of
object frees if slab debugging is enabled (see object frees if slab debugging is enabled (see
Documentation/vm/slub.rst). Documentation/mm/slub.rst).
What: /sys/kernel/slab/<cache>/free_fastpath What: /sys/kernel/slab/<cache>/free_fastpath
Date: February 2008 Date: February 2008
......
...@@ -5442,7 +5442,7 @@ ...@@ -5442,7 +5442,7 @@
cache (risks via metadata attacks are mostly cache (risks via metadata attacks are mostly
unchanged). Debug options disable merging on their unchanged). Debug options disable merging on their
own. own.
For more information see Documentation/vm/slub.rst. For more information see Documentation/mm/slub.rst.
slab_max_order= [MM, SLAB] slab_max_order= [MM, SLAB]
Determines the maximum allowed order for slabs. Determines the maximum allowed order for slabs.
...@@ -5456,13 +5456,13 @@ ...@@ -5456,13 +5456,13 @@
slub_debug can create guard zones around objects and slub_debug can create guard zones around objects and
may poison objects when not in use. Also tracks the may poison objects when not in use. Also tracks the
last alloc / free. For more information see last alloc / free. For more information see
Documentation/vm/slub.rst. Documentation/mm/slub.rst.
slub_max_order= [MM, SLUB] slub_max_order= [MM, SLUB]
Determines the maximum allowed order for slabs. Determines the maximum allowed order for slabs.
A high setting may cause OOMs due to memory A high setting may cause OOMs due to memory
fragmentation. For more information see fragmentation. For more information see
Documentation/vm/slub.rst. Documentation/mm/slub.rst.
slub_min_objects= [MM, SLUB] slub_min_objects= [MM, SLUB]
The minimum number of objects per slab. SLUB will The minimum number of objects per slab. SLUB will
...@@ -5471,12 +5471,12 @@ ...@@ -5471,12 +5471,12 @@
the number of objects indicated. The higher the number the number of objects indicated. The higher the number
of objects the smaller the overhead of tracking slabs of objects the smaller the overhead of tracking slabs
and the less frequently locks need to be acquired. and the less frequently locks need to be acquired.
For more information see Documentation/vm/slub.rst. For more information see Documentation/mm/slub.rst.
slub_min_order= [MM, SLUB] slub_min_order= [MM, SLUB]
Determines the minimum page order for slabs. Must be Determines the minimum page order for slabs. Must be
lower than slub_max_order. lower than slub_max_order.
For more information see Documentation/vm/slub.rst. For more information see Documentation/mm/slub.rst.
slub_merge [MM, SLUB] slub_merge [MM, SLUB]
Same with slab_merge. Same with slab_merge.
......
...@@ -125,7 +125,7 @@ processor. Each bank is referred to as a `node` and for each node Linux ...@@ -125,7 +125,7 @@ processor. Each bank is referred to as a `node` and for each node Linux
constructs an independent memory management subsystem. A node has its constructs an independent memory management subsystem. A node has its
own set of zones, lists of free and used pages and various statistics own set of zones, lists of free and used pages and various statistics
counters. You can find more details about NUMA in counters. You can find more details about NUMA in
:ref:`Documentation/vm/numa.rst <numa>` and in :ref:`Documentation/mm/numa.rst <numa>` and in
:ref:`Documentation/admin-guide/mm/numa_memory_policy.rst <numa_memory_policy>`. :ref:`Documentation/admin-guide/mm/numa_memory_policy.rst <numa_memory_policy>`.
Page cache Page cache
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
Monitoring Data Accesses Monitoring Data Accesses
======================== ========================
:doc:`DAMON </vm/damon/index>` allows light-weight data access monitoring. :doc:`DAMON </mm/damon/index>` allows light-weight data access monitoring.
Using DAMON, users can analyze the memory access patterns of their systems and Using DAMON, users can analyze the memory access patterns of their systems and
optimize those. optimize those.
......
...@@ -268,4 +268,4 @@ granularity reclamation. :: ...@@ -268,4 +268,4 @@ granularity reclamation. ::
.. [1] https://research.google/pubs/pub48551/ .. [1] https://research.google/pubs/pub48551/
.. [2] https://lwn.net/Articles/787611/ .. [2] https://lwn.net/Articles/787611/
.. [3] https://www.kernel.org/doc/html/latest/vm/free_page_reporting.html .. [3] https://www.kernel.org/doc/html/latest/mm/free_page_reporting.html
...@@ -30,11 +30,11 @@ DAMON provides below interfaces for different users. ...@@ -30,11 +30,11 @@ DAMON provides below interfaces for different users.
<sysfs_interface>`. This will be removed after next LTS kernel is released, <sysfs_interface>`. This will be removed after next LTS kernel is released,
so users should move to the :ref:`sysfs interface <sysfs_interface>`. so users should move to the :ref:`sysfs interface <sysfs_interface>`.
- *Kernel Space Programming Interface.* - *Kernel Space Programming Interface.*
:doc:`This </vm/damon/api>` is for kernel space programmers. Using this, :doc:`This </mm/damon/api>` is for kernel space programmers. Using this,
users can utilize every feature of DAMON most flexibly and efficiently by users can utilize every feature of DAMON most flexibly and efficiently by
writing kernel space DAMON application programs for you. You can even extend writing kernel space DAMON application programs for you. You can even extend
DAMON for various address spaces. For detail, please refer to the interface DAMON for various address spaces. For detail, please refer to the interface
:doc:`document </vm/damon/api>`. :doc:`document </mm/damon/api>`.
.. _sysfs_interface: .. _sysfs_interface:
...@@ -185,7 +185,7 @@ controls the monitoring overhead, exist. You can set and get the values by ...@@ -185,7 +185,7 @@ controls the monitoring overhead, exist. You can set and get the values by
writing to and rading from the files. writing to and rading from the files.
For more details about the intervals and monitoring regions range, please refer For more details about the intervals and monitoring regions range, please refer
to the Design document (:doc:`/vm/damon/design`). to the Design document (:doc:`/mm/damon/design`).
contexts/<N>/targets/ contexts/<N>/targets/
--------------------- ---------------------
...@@ -402,7 +402,7 @@ Attributes ...@@ -402,7 +402,7 @@ Attributes
Users can get and set the ``sampling interval``, ``aggregation interval``, Users can get and set the ``sampling interval``, ``aggregation interval``,
``update interval``, and min/max number of monitoring target regions by ``update interval``, and min/max number of monitoring target regions by
reading from and writing to the ``attrs`` file. To know about the monitoring reading from and writing to the ``attrs`` file. To know about the monitoring
attributes in detail, please refer to the :doc:`/vm/damon/design`. For attributes in detail, please refer to the :doc:`/mm/damon/design`. For
example, below commands set those values to 5 ms, 100 ms, 1,000 ms, 10 and example, below commands set those values to 5 ms, 100 ms, 1,000 ms, 10 and
1000, and then check it again:: 1000, and then check it again::
......
...@@ -760,7 +760,7 @@ and don't use much of it. ...@@ -760,7 +760,7 @@ and don't use much of it.
The default value is 0. The default value is 0.
See Documentation/vm/overcommit-accounting.rst and See Documentation/mm/overcommit-accounting.rst and
mm/util.c::__vm_enough_memory() for more information. mm/util.c::__vm_enough_memory() for more information.
......
...@@ -87,7 +87,7 @@ Memory management ...@@ -87,7 +87,7 @@ Memory management
================= =================
How to allocate and use memory in the kernel. Note that there is a lot How to allocate and use memory in the kernel. Note that there is a lot
more memory-management documentation in Documentation/vm/index.rst. more memory-management documentation in Documentation/mm/index.rst.
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
......
...@@ -1109,7 +1109,7 @@ CommitLimit ...@@ -1109,7 +1109,7 @@ CommitLimit
yield a CommitLimit of 7.3G. yield a CommitLimit of 7.3G.
For more details, see the memory overcommit documentation For more details, see the memory overcommit documentation
in vm/overcommit-accounting. in mm/overcommit-accounting.
Committed_AS Committed_AS
The amount of memory presently allocated on the system. The amount of memory presently allocated on the system.
The committed memory is a sum of all of the memory which The committed memory is a sum of all of the memory which
......
...@@ -128,7 +128,7 @@ needed). ...@@ -128,7 +128,7 @@ needed).
sound/index sound/index
crypto/index crypto/index
filesystems/index filesystems/index
vm/index mm/index
bpf/index bpf/index
usb/index usb/index
PCI/index PCI/index
......
...@@ -170,7 +170,7 @@ The users of `ZONE_DEVICE` are: ...@@ -170,7 +170,7 @@ The users of `ZONE_DEVICE` are:
* hmm: Extend `ZONE_DEVICE` with `->page_fault()` and `->page_free()` * hmm: Extend `ZONE_DEVICE` with `->page_fault()` and `->page_free()`
event callbacks to allow a device-driver to coordinate memory management event callbacks to allow a device-driver to coordinate memory management
events related to device-memory, typically GPU memory. See events related to device-memory, typically GPU memory. See
Documentation/vm/hmm.rst. Documentation/mm/hmm.rst.
* p2pdma: Create `struct page` objects to allow peer devices in a * p2pdma: Create `struct page` objects to allow peer devices in a
PCI/-E topology to coordinate direct-DMA operations between themselves, PCI/-E topology to coordinate direct-DMA operations between themselves,
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
监测数据访问 监测数据访问
============ ============
:doc:`DAMON </vm/damon/index>` 允许轻量级的数据访问监测。使用DAMON, :doc:`DAMON </mm/damon/index>` 允许轻量级的数据访问监测。使用DAMON,
用户可以分析他们系统的内存访问模式,并优化它们。 用户可以分析他们系统的内存访问模式,并优化它们。
.. toctree:: .. toctree::
......
...@@ -229,4 +229,4 @@ DAMON_RECLAIM再次什么都不做,这样我们就可以退回到基于LRU列 ...@@ -229,4 +229,4 @@ DAMON_RECLAIM再次什么都不做,这样我们就可以退回到基于LRU列
.. [1] https://research.google/pubs/pub48551/ .. [1] https://research.google/pubs/pub48551/
.. [2] https://lwn.net/Articles/787611/ .. [2] https://lwn.net/Articles/787611/
.. [3] https://www.kernel.org/doc/html/latest/vm/free_page_reporting.html .. [3] https://www.kernel.org/doc/html/latest/mm/free_page_reporting.html
...@@ -33,9 +33,9 @@ DAMON 为不同的用户提供了下面这些接口。 ...@@ -33,9 +33,9 @@ DAMON 为不同的用户提供了下面这些接口。
口相同。这将在下一个LTS内核发布后被移除,所以用户应该转移到 口相同。这将在下一个LTS内核发布后被移除,所以用户应该转移到
:ref:`sysfs interface <sysfs_interface>`。 :ref:`sysfs interface <sysfs_interface>`。
- *内核空间编程接口。* - *内核空间编程接口。*
:doc:`这 </vm/damon/api>` 这是为内核空间程序员准备的。使用它,用户可以通过为你编写内 :doc:`这 </mm/damon/api>` 这是为内核空间程序员准备的。使用它,用户可以通过为你编写内
核空间的DAMON应用程序,最灵活有效地利用DAMON的每一个功能。你甚至可以为各种地址空间扩展DAMON。 核空间的DAMON应用程序,最灵活有效地利用DAMON的每一个功能。你甚至可以为各种地址空间扩展DAMON。
详细情况请参考接口 :doc:`文件 </vm/damon/api>`。 详细情况请参考接口 :doc:`文件 </mm/damon/api>`。
sysfs接口 sysfs接口
========= =========
...@@ -148,7 +148,7 @@ contexts/<N>/monitoring_attrs/ ...@@ -148,7 +148,7 @@ contexts/<N>/monitoring_attrs/
在 ``nr_regions`` 目录下,有两个文件分别用于DAMON监测区域的下限和上限(``min`` 和 ``max`` ), 在 ``nr_regions`` 目录下,有两个文件分别用于DAMON监测区域的下限和上限(``min`` 和 ``max`` ),
这两个文件控制着监测的开销。你可以通过向这些文件的写入和读出来设置和获取这些值。 这两个文件控制着监测的开销。你可以通过向这些文件的写入和读出来设置和获取这些值。
关于间隔和监测区域范围的更多细节,请参考设计文件 (:doc:`/vm/damon/design`)。 关于间隔和监测区域范围的更多细节,请参考设计文件 (:doc:`/mm/damon/design`)。
contexts/<N>/targets/ contexts/<N>/targets/
--------------------- ---------------------
...@@ -318,7 +318,7 @@ DAMON导出了八个文件, ``attrs``, ``target_ids``, ``init_regions``, ...@@ -318,7 +318,7 @@ DAMON导出了八个文件, ``attrs``, ``target_ids``, ``init_regions``,
---- ----
用户可以通过读取和写入 ``attrs`` 文件获得和设置 ``采样间隔`` 、 ``聚集间隔`` 、 ``更新间隔`` 用户可以通过读取和写入 ``attrs`` 文件获得和设置 ``采样间隔`` 、 ``聚集间隔`` 、 ``更新间隔``
以及监测目标区域的最小/最大数量。要详细了解监测属性,请参考 `:doc:/vm/damon/design` 。例如, 以及监测目标区域的最小/最大数量。要详细了解监测属性,请参考 `:doc:/mm/damon/design` 。例如,
下面的命令将这些值设置为5ms、100ms、1000ms、10和1000,然后再次检查:: 下面的命令将这些值设置为5ms、100ms、1000ms、10和1000,然后再次检查::
# cd <debugfs>/damon # cd <debugfs>/damon
......
...@@ -101,7 +101,7 @@ Todolist: ...@@ -101,7 +101,7 @@ Todolist:
======== ========
如何在内核中分配和使用内存。请注意,在 如何在内核中分配和使用内存。请注意,在
:doc:`/vm/index` 中有更多的内存管理文档。 :doc:`/mm/index` 中有更多的内存管理文档。
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
......
...@@ -118,7 +118,7 @@ TODOList: ...@@ -118,7 +118,7 @@ TODOList:
sound/index sound/index
filesystems/index filesystems/index
scheduler/index scheduler/index
vm/index mm/index
peci/index peci/index
TODOList: TODOList:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/active_mm.rst :Original: Documentation/mm/active_mm.rst
:翻译: :翻译:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/balance.rst :Original: Documentation/mm/balance.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/vm/damon/api.rst :Original: Documentation/mm/damon/api.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/vm/damon/design.rst :Original: Documentation/mm/damon/design.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/vm/damon/faq.rst :Original: Documentation/mm/damon/faq.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/vm/damon/index.rst :Original: Documentation/mm/damon/index.rst
:翻译: :翻译:
...@@ -14,7 +14,7 @@ DAMON:数据访问监视器 ...@@ -14,7 +14,7 @@ DAMON:数据访问监视器
========================== ==========================
DAMON是Linux内核的一个数据访问监控框架子系统。DAMON的核心机制使其成为 DAMON是Linux内核的一个数据访问监控框架子系统。DAMON的核心机制使其成为
(该核心机制详见(Documentation/translations/zh_CN/vm/damon/design.rst)) (该核心机制详见(Documentation/translations/zh_CN/mm/damon/design.rst))
- *准确度* (监测输出对DRAM级别的内存管理足够有用;但可能不适合CPU Cache级别), - *准确度* (监测输出对DRAM级别的内存管理足够有用;但可能不适合CPU Cache级别),
- *轻量级* (监控开销低到可以在线应用),以及 - *轻量级* (监控开销低到可以在线应用),以及
...@@ -30,4 +30,3 @@ DAMON是Linux内核的一个数据访问监控框架子系统。DAMON的核心 ...@@ -30,4 +30,3 @@ DAMON是Linux内核的一个数据访问监控框架子系统。DAMON的核心
faq faq
design design
api api
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/_free_page_reporting.rst :Original: Documentation/mm/_free_page_reporting.rst
:翻译: :翻译:
......
:Original: Documentation/vm/_free_page_reporting.rst :Original: Documentation/mm/_free_page_reporting.rst
:翻译: :翻译:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/highmem.rst :Original: Documentation/mm/highmem.rst
:翻译: :翻译:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/hmm.rst :Original: Documentation/mm/hmm.rst
:翻译: :翻译:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/hugetlbfs_reserv.rst :Original: Documentation/mm/hugetlbfs_reserv.rst
:翻译: :翻译:
......
:Original: Documentation/vm/hwpoison.rst :Original: Documentation/mm/hwpoison.rst
:翻译: :翻译:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/index.rst :Original: Documentation/mm/index.rst
:翻译: :翻译:
......
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/vm/ksm.rst :Original: Documentation/mm/ksm.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/vm/memory-model.rst :Original: Documentation/mm/memory-model.rst
:翻译: :翻译:
...@@ -129,7 +129,7 @@ ZONE_DEVICE ...@@ -129,7 +129,7 @@ ZONE_DEVICE
* pmem: 通过DAX映射将平台持久性内存作为直接I/O目标使用。 * pmem: 通过DAX映射将平台持久性内存作为直接I/O目标使用。
* hmm: 用 `->page_fault()` 和 `->page_free()` 事件回调扩展 `ZONE_DEVICE` , * hmm: 用 `->page_fault()` 和 `->page_free()` 事件回调扩展 `ZONE_DEVICE` ,
以允许设备驱动程序协调与设备内存相关的内存管理事件,通常是GPU内存。参见/vm/hmm.rst。 以允许设备驱动程序协调与设备内存相关的内存管理事件,通常是GPU内存。参见Documentation/mm/hmm.rst。
* p2pdma: 创建 `struct page` 对象,允许PCI/E拓扑结构中的peer设备协调它们之间的 * p2pdma: 创建 `struct page` 对象,允许PCI/E拓扑结构中的peer设备协调它们之间的
直接DMA操作,即绕过主机内存。 直接DMA操作,即绕过主机内存。
:Original: Documentation/vm/mmu_notifier.rst :Original: Documentation/mm/mmu_notifier.rst
:翻译: :翻译:
......
:Original: Documentation/vm/numa.rst :Original: Documentation/mm/numa.rst
:翻译: :翻译:
......
:Original: Documentation/vm/overcommit-accounting.rst :Original: Documentation/mm/overcommit-accounting.rst
:翻译: :翻译:
......
:Original: Documentation/vm/page_frag.rst :Original: Documentation/mm/page_frag.rst
:翻译: :翻译:
......
:Original: Documentation/vm/page_owner.rst :Original: Documentation/mm/page_owner.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/vm/page_table_check.rst :Original: Documentation/mm/page_table_check.rst
:翻译: :翻译:
......
:Original: Documentation/vm/remap_file_pages.rst :Original: Documentation/mm/remap_file_pages.rst
:翻译: :翻译:
......
:Original: Documentation/vm/split_page_table_lock.rst :Original: Documentation/mm/split_page_table_lock.rst
:翻译: :翻译:
......
:Original: Documentation/vm/z3fold.rst :Original: Documentation/mm/z3fold.rst
:翻译: :翻译:
......
:Original: Documentation/vm/zs_malloc.rst :Original: Documentation/mm/zs_malloc.rst
:翻译: :翻译:
......
...@@ -128,7 +128,7 @@ TODOList: ...@@ -128,7 +128,7 @@ TODOList:
* security/index * security/index
* sound/index * sound/index
* crypto/index * crypto/index
* vm/index * mm/index
* bpf/index * bpf/index
* usb/index * usb/index
* PCI/index * PCI/index
......
# SPDX-License-Identifier: GPL-2.0-only
page-types
slabinfo
...@@ -5526,7 +5526,7 @@ L: linux-mm@kvack.org ...@@ -5526,7 +5526,7 @@ L: linux-mm@kvack.org
S: Maintained S: Maintained
F: Documentation/ABI/testing/sysfs-kernel-mm-damon F: Documentation/ABI/testing/sysfs-kernel-mm-damon
F: Documentation/admin-guide/mm/damon/ F: Documentation/admin-guide/mm/damon/
F: Documentation/vm/damon/ F: Documentation/mm/damon/
F: include/linux/damon.h F: include/linux/damon.h
F: include/trace/events/damon.h F: include/trace/events/damon.h
F: mm/damon/ F: mm/damon/
...@@ -9037,7 +9037,7 @@ HMM - Heterogeneous Memory Management ...@@ -9037,7 +9037,7 @@ HMM - Heterogeneous Memory Management
M: Jérôme Glisse <jglisse@redhat.com> M: Jérôme Glisse <jglisse@redhat.com>
L: linux-mm@kvack.org L: linux-mm@kvack.org
S: Maintained S: Maintained
F: Documentation/vm/hmm.rst F: Documentation/mm/hmm.rst
F: include/linux/hmm* F: include/linux/hmm*
F: lib/test_hmm* F: lib/test_hmm*
F: mm/hmm* F: mm/hmm*
...@@ -9135,8 +9135,8 @@ L: linux-mm@kvack.org ...@@ -9135,8 +9135,8 @@ L: linux-mm@kvack.org
S: Maintained S: Maintained
F: Documentation/ABI/testing/sysfs-kernel-mm-hugepages F: Documentation/ABI/testing/sysfs-kernel-mm-hugepages
F: Documentation/admin-guide/mm/hugetlbpage.rst F: Documentation/admin-guide/mm/hugetlbpage.rst
F: Documentation/vm/hugetlbfs_reserv.rst F: Documentation/mm/hugetlbfs_reserv.rst
F: Documentation/vm/vmemmap_dedup.rst F: Documentation/mm/vmemmap_dedup.rst
F: fs/hugetlbfs/ F: fs/hugetlbfs/
F: include/linux/hugetlb.h F: include/linux/hugetlb.h
F: mm/hugetlb.c F: mm/hugetlb.c
...@@ -15072,7 +15072,7 @@ M: Pasha Tatashin <pasha.tatashin@soleen.com> ...@@ -15072,7 +15072,7 @@ M: Pasha Tatashin <pasha.tatashin@soleen.com>
M: Andrew Morton <akpm@linux-foundation.org> M: Andrew Morton <akpm@linux-foundation.org>
L: linux-mm@kvack.org L: linux-mm@kvack.org
S: Maintained S: Maintained
F: Documentation/vm/page_table_check.rst F: Documentation/mm/page_table_check.rst
F: include/linux/page_table_check.h F: include/linux/page_table_check.h
F: mm/page_table_check.c F: mm/page_table_check.c
...@@ -22158,7 +22158,7 @@ M: Nitin Gupta <ngupta@vflare.org> ...@@ -22158,7 +22158,7 @@ M: Nitin Gupta <ngupta@vflare.org>
R: Sergey Senozhatsky <senozhatsky@chromium.org> R: Sergey Senozhatsky <senozhatsky@chromium.org>
L: linux-mm@kvack.org L: linux-mm@kvack.org
S: Maintained S: Maintained
F: Documentation/vm/zsmalloc.rst F: Documentation/mm/zsmalloc.rst
F: include/linux/zsmalloc.h F: include/linux/zsmalloc.h
F: mm/zsmalloc.c F: mm/zsmalloc.c
......
...@@ -410,7 +410,7 @@ config ARCH_SPARSEMEM_ENABLE ...@@ -410,7 +410,7 @@ config ARCH_SPARSEMEM_ENABLE
Say Y to support efficient handling of sparse physical memory, Say Y to support efficient handling of sparse physical memory,
for architectures which are either NUMA (Non-Uniform Memory Access) for architectures which are either NUMA (Non-Uniform Memory Access)
or have huge holes in the physical address space for other reasons. or have huge holes in the physical address space for other reasons.
See <file:Documentation/vm/numa.rst> for more. See <file:Documentation/mm/numa.rst> for more.
config ARCH_ENABLE_THP_MIGRATION config ARCH_ENABLE_THP_MIGRATION
def_bool y def_bool y
......
...@@ -1273,7 +1273,7 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, unsigned long addr, ...@@ -1273,7 +1273,7 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, unsigned long addr,
* should return true. * should return true.
* We should not call this on a hugetlb entry. We should check for HugeTLB * We should not call this on a hugetlb entry. We should check for HugeTLB
* entry using vma->vm_flags * entry using vma->vm_flags
* The page table walk rule is explained in Documentation/vm/transhuge.rst * The page table walk rule is explained in Documentation/mm/transhuge.rst
*/ */
static inline int pmd_trans_huge(pmd_t pmd) static inline int pmd_trans_huge(pmd_t pmd)
{ {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* Authors: Jérôme Glisse <jglisse@redhat.com> * Authors: Jérôme Glisse <jglisse@redhat.com>
* *
* See Documentation/vm/hmm.rst for reasons and overview of what HMM is. * See Documentation/mm/hmm.rst for reasons and overview of what HMM is.
*/ */
#ifndef LINUX_HMM_H #ifndef LINUX_HMM_H
#define LINUX_HMM_H #define LINUX_HMM_H
...@@ -100,7 +100,7 @@ struct hmm_range { ...@@ -100,7 +100,7 @@ struct hmm_range {
}; };
/* /*
* Please see Documentation/vm/hmm.rst for how to use the range API. * Please see Documentation/mm/hmm.rst for how to use the range API.
*/ */
int hmm_range_fault(struct hmm_range *range); int hmm_range_fault(struct hmm_range *range);
......
...@@ -39,7 +39,7 @@ struct vmem_altmap { ...@@ -39,7 +39,7 @@ struct vmem_altmap {
* must be treated as an opaque object, rather than a "normal" struct page. * must be treated as an opaque object, rather than a "normal" struct page.
* *
* A more complete discussion of unaddressable memory may be found in * A more complete discussion of unaddressable memory may be found in
* include/linux/hmm.h and Documentation/vm/hmm.rst. * include/linux/hmm.h and Documentation/mm/hmm.rst.
* *
* MEMORY_DEVICE_FS_DAX: * MEMORY_DEVICE_FS_DAX:
* Host memory that has similar access semantics as System RAM i.e. DMA * Host memory that has similar access semantics as System RAM i.e. DMA
......
...@@ -198,7 +198,7 @@ struct mmu_notifier_ops { ...@@ -198,7 +198,7 @@ struct mmu_notifier_ops {
* invalidate_range_start()/end() notifiers, as * invalidate_range_start()/end() notifiers, as
* invalidate_range() already catches the points in time when an * invalidate_range() already catches the points in time when an
* external TLB range needs to be flushed. For more in depth * external TLB range needs to be flushed. For more in depth
* discussion on this see Documentation/vm/mmu_notifier.rst * discussion on this see Documentation/mm/mmu_notifier.rst
* *
* Note that this function might be called with just a sub-range * Note that this function might be called with just a sub-range
* of what was passed to invalidate_range_start()/end(), if * of what was passed to invalidate_range_start()/end(), if
......
...@@ -29,7 +29,7 @@ extern struct mm_struct *mm_alloc(void); ...@@ -29,7 +29,7 @@ extern struct mm_struct *mm_alloc(void);
* *
* Use mmdrop() to release the reference acquired by mmgrab(). * Use mmdrop() to release the reference acquired by mmgrab().
* *
* See also <Documentation/vm/active_mm.rst> for an in-depth explanation * See also <Documentation/mm/active_mm.rst> for an in-depth explanation
* of &mm_struct.mm_count vs &mm_struct.mm_users. * of &mm_struct.mm_count vs &mm_struct.mm_users.
*/ */
static inline void mmgrab(struct mm_struct *mm) static inline void mmgrab(struct mm_struct *mm)
...@@ -92,7 +92,7 @@ static inline void mmdrop_sched(struct mm_struct *mm) ...@@ -92,7 +92,7 @@ static inline void mmdrop_sched(struct mm_struct *mm)
* *
* Use mmput() to release the reference acquired by mmget(). * Use mmput() to release the reference acquired by mmget().
* *
* See also <Documentation/vm/active_mm.rst> for an in-depth explanation * See also <Documentation/mm/active_mm.rst> for an in-depth explanation
* of &mm_struct.mm_count vs &mm_struct.mm_users. * of &mm_struct.mm_count vs &mm_struct.mm_users.
*/ */
static inline void mmget(struct mm_struct *mm) static inline void mmget(struct mm_struct *mm)
......
...@@ -74,7 +74,7 @@ static inline int current_is_kswapd(void) ...@@ -74,7 +74,7 @@ static inline int current_is_kswapd(void)
/* /*
* Unaddressable device memory support. See include/linux/hmm.h and * Unaddressable device memory support. See include/linux/hmm.h and
* Documentation/vm/hmm.rst. Short description is we need struct pages for * Documentation/mm/hmm.rst. Short description is we need struct pages for
* device memory that is unaddressable (inaccessible) by CPU, so that we can * device memory that is unaddressable (inaccessible) by CPU, so that we can
* migrate part of a process memory to device memory. * migrate part of a process memory to device memory.
* *
......
...@@ -663,7 +663,7 @@ config KSM ...@@ -663,7 +663,7 @@ config KSM
the many instances by a single page with that content, so the many instances by a single page with that content, so
saving memory until one or another app needs to modify the content. saving memory until one or another app needs to modify the content.
Recommended for use with KVM, or with other duplicative applications. Recommended for use with KVM, or with other duplicative applications.
See Documentation/vm/ksm.rst for more information: KSM is inactive See Documentation/mm/ksm.rst for more information: KSM is inactive
until a program has madvised that an area is MADV_MERGEABLE, and until a program has madvised that an area is MADV_MERGEABLE, and
root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set). root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set).
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
/* /*
* Please refer Documentation/vm/arch_pgtable_helpers.rst for the semantics * Please refer Documentation/mm/arch_pgtable_helpers.rst for the semantics
* expectations that are being validated here. All future changes in here * expectations that are being validated here. All future changes in here
* or the documentation need to be in sync. * or the documentation need to be in sync.
*/ */
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* This code provides the generic "frontend" layer to call a matching * This code provides the generic "frontend" layer to call a matching
* "backend" driver implementation of frontswap. See * "backend" driver implementation of frontswap. See
* Documentation/vm/frontswap.rst for more information. * Documentation/mm/frontswap.rst for more information.
* *
* Copyright (C) 2009-2012 Oracle Corp. All rights reserved. * Copyright (C) 2009-2012 Oracle Corp. All rights reserved.
* Author: Dan Magenheimer * Author: Dan Magenheimer
......
...@@ -1937,7 +1937,7 @@ static void __split_huge_zero_page_pmd(struct vm_area_struct *vma, ...@@ -1937,7 +1937,7 @@ static void __split_huge_zero_page_pmd(struct vm_area_struct *vma,
* replacing a zero pmd write protected page with a zero pte write * replacing a zero pmd write protected page with a zero pte write
* protected page. * protected page.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
pmdp_huge_clear_flush(vma, haddr, pmd); pmdp_huge_clear_flush(vma, haddr, pmd);
......
...@@ -4875,7 +4875,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src, ...@@ -4875,7 +4875,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src,
* table protection not changing it to point * table protection not changing it to point
* to a new page. * to a new page.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
huge_ptep_set_wrprotect(src, addr, src_pte); huge_ptep_set_wrprotect(src, addr, src_pte);
entry = huge_pte_wrprotect(entry); entry = huge_pte_wrprotect(entry);
...@@ -6403,7 +6403,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma, ...@@ -6403,7 +6403,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma,
* No need to call mmu_notifier_invalidate_range() we are downgrading * No need to call mmu_notifier_invalidate_range() we are downgrading
* page table protection not changing it to point to a new page. * page table protection not changing it to point to a new page.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
i_mmap_unlock_write(vma->vm_file->f_mapping); i_mmap_unlock_write(vma->vm_file->f_mapping);
mmu_notifier_invalidate_range_end(&range); mmu_notifier_invalidate_range_end(&range);
...@@ -7102,7 +7102,7 @@ void hugetlb_unshare_all_pmds(struct vm_area_struct *vma) ...@@ -7102,7 +7102,7 @@ void hugetlb_unshare_all_pmds(struct vm_area_struct *vma)
i_mmap_unlock_write(vma->vm_file->f_mapping); i_mmap_unlock_write(vma->vm_file->f_mapping);
/* /*
* No need to call mmu_notifier_invalidate_range(), see * No need to call mmu_notifier_invalidate_range(), see
* Documentation/vm/mmu_notifier.rst. * Documentation/mm/mmu_notifier.rst.
*/ */
mmu_notifier_invalidate_range_end(&range); mmu_notifier_invalidate_range_end(&range);
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Author: Muchun Song <songmuchun@bytedance.com> * Author: Muchun Song <songmuchun@bytedance.com>
* *
* See Documentation/vm/vmemmap_dedup.rst * See Documentation/mm/vmemmap_dedup.rst
*/ */
#define pr_fmt(fmt) "HugeTLB: " fmt #define pr_fmt(fmt) "HugeTLB: " fmt
......
...@@ -1083,7 +1083,7 @@ static int write_protect_page(struct vm_area_struct *vma, struct page *page, ...@@ -1083,7 +1083,7 @@ static int write_protect_page(struct vm_area_struct *vma, struct page *page,
* No need to notify as we are downgrading page table to read * No need to notify as we are downgrading page table to read
* only not changing it to point to a new page. * only not changing it to point to a new page.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
entry = ptep_clear_flush(vma, pvmw.address, pvmw.pte); entry = ptep_clear_flush(vma, pvmw.address, pvmw.pte);
/* /*
...@@ -1186,7 +1186,7 @@ static int replace_page(struct vm_area_struct *vma, struct page *page, ...@@ -1186,7 +1186,7 @@ static int replace_page(struct vm_area_struct *vma, struct page *page,
* No need to notify as we are replacing a read only page with another * No need to notify as we are replacing a read only page with another
* read only page with the same content. * read only page with the same content.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
ptep_clear_flush(vma, addr, ptep); ptep_clear_flush(vma, addr, ptep);
set_pte_at_notify(mm, addr, ptep, newpte); set_pte_at_notify(mm, addr, ptep, newpte);
......
...@@ -2944,7 +2944,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, ...@@ -2944,7 +2944,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
unsigned long ret = -EINVAL; unsigned long ret = -EINVAL;
struct file *file; struct file *file;
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n", pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n",
current->comm, current->pid); current->comm, current->pid);
if (prot) if (prot)
......
...@@ -999,7 +999,7 @@ static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw) ...@@ -999,7 +999,7 @@ static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw)
* downgrading page table protection not changing it to point * downgrading page table protection not changing it to point
* to a new page. * to a new page.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
if (ret) if (ret)
cleaned++; cleaned++;
...@@ -1765,7 +1765,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma, ...@@ -1765,7 +1765,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,
* to point at a new folio while a device is * to point at a new folio while a device is
* still using this folio. * still using this folio.
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
dec_mm_counter(mm, mm_counter_file(&folio->page)); dec_mm_counter(mm, mm_counter_file(&folio->page));
} }
...@@ -1775,7 +1775,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma, ...@@ -1775,7 +1775,7 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,
* done above for all cases requiring it to happen under page * done above for all cases requiring it to happen under page
* table lock before mmu_notifier_invalidate_range_end() * table lock before mmu_notifier_invalidate_range_end()
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
page_remove_rmap(subpage, vma, folio_test_hugetlb(folio)); page_remove_rmap(subpage, vma, folio_test_hugetlb(folio));
if (vma->vm_flags & VM_LOCKED) if (vma->vm_flags & VM_LOCKED)
...@@ -2093,7 +2093,7 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma, ...@@ -2093,7 +2093,7 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma,
* done above for all cases requiring it to happen under page * done above for all cases requiring it to happen under page
* table lock before mmu_notifier_invalidate_range_end() * table lock before mmu_notifier_invalidate_range_end()
* *
* See Documentation/vm/mmu_notifier.rst * See Documentation/mm/mmu_notifier.rst
*/ */
page_remove_rmap(subpage, vma, folio_test_hugetlb(folio)); page_remove_rmap(subpage, vma, folio_test_hugetlb(folio));
if (vma->vm_flags & VM_LOCKED) if (vma->vm_flags & VM_LOCKED)
......
...@@ -752,7 +752,7 @@ static int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn, ...@@ -752,7 +752,7 @@ static int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,
/* /*
* Reuse the previous page for the rest of tail pages * Reuse the previous page for the rest of tail pages
* See layout diagram in Documentation/vm/vmemmap_dedup.rst * See layout diagram in Documentation/mm/vmemmap_dedup.rst
*/ */
next += PAGE_SIZE; next += PAGE_SIZE;
rc = vmemmap_populate_range(next, last, node, NULL, rc = vmemmap_populate_range(next, last, node, NULL,
......
...@@ -1005,7 +1005,7 @@ EXPORT_SYMBOL_GPL(vm_memory_committed); ...@@ -1005,7 +1005,7 @@ EXPORT_SYMBOL_GPL(vm_memory_committed);
* succeed and -ENOMEM implies there is not. * succeed and -ENOMEM implies there is not.
* *
* We currently support three overcommit policies, which are set via the * We currently support three overcommit policies, which are set via the
* vm.overcommit_memory sysctl. See Documentation/vm/overcommit-accounting.rst * vm.overcommit_memory sysctl. See Documentation/mm/overcommit-accounting.rst
* *
* Strict overcommit modes added 2002 Feb 26 by Alan Cox. * Strict overcommit modes added 2002 Feb 26 by Alan Cox.
* Additional code 2002 Jul 20 by Robert Love. * Additional code 2002 Jul 20 by Robert Love.
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Or sort by total memory: * Or sort by total memory:
* ./page_owner_sort -m page_owner_full.txt sorted_page_owner.txt * ./page_owner_sort -m page_owner_full.txt sorted_page_owner.txt
* *
* See Documentation/vm/page_owner.rst * See Documentation/mm/page_owner.rst
*/ */
#include <stdio.h> #include <stdio.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment