mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
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: Mike Rapoport <rppt@linux.ibm.com> Suggested-by: Matthew Wilcox <willy@infradead.org> Tested-by: Ira Weiny <ira.weiny@intel.com> Acked-by: Jonathan Corbet <corbet@lwn.net> Acked-by: Wu XiangCheng <bobwxc@email.cn>
This commit is contained in:
parent
46a3b11253
commit
ee65728e10
@ -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:
|
|||||||
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>,
|
|||||||
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 @@
|
|||||||
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 @@
|
|||||||
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 @@
|
|||||||
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
|
|||||||
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 @@
|
|||||||
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. ::
|
|||||||
|
|
||||||
.. [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.
|
|||||||
<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
|
|||||||
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
|
|||||||
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.
|
|||||||
|
|
||||||
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
|
|||||||
=================
|
=================
|
||||||
|
|
||||||
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
|
|||||||
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).
|
|||||||
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:
|
|||||||
* 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 @@
|
|||||||
监测数据访问
|
监测数据访问
|
||||||
============
|
============
|
||||||
|
|
||||||
:doc:`DAMON </vm/damon/index>` 允许轻量级的数据访问监测。使用DAMON,
|
:doc:`DAMON </mm/damon/index>` 允许轻量级的数据访问监测。使用DAMON,
|
||||||
用户可以分析他们系统的内存访问模式,并优化它们。
|
用户可以分析他们系统的内存访问模式,并优化它们。
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
@ -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 为不同的用户提供了下面这些接口。
|
|||||||
口相同。这将在下一个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/
|
|||||||
在 ``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``,
|
|||||||
----
|
----
|
||||||
|
|
||||||
用户可以通过读取和写入 ``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:
|
|||||||
========
|
========
|
||||||
|
|
||||||
如何在内核中分配和使用内存。请注意,在
|
如何在内核中分配和使用内存。请注意,在
|
||||||
:doc:`/vm/index` 中有更多的内存管理文档。
|
:doc:`/mm/index` 中有更多的内存管理文档。
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
@ -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:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/active_mm.rst
|
:Original: Documentation/mm/active_mm.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/balance.rst
|
:Original: Documentation/mm/balance.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. SPDX-License-Identifier: GPL-2.0
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
:Original: Documentation/vm/damon/api.rst
|
:Original: Documentation/mm/damon/api.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. SPDX-License-Identifier: GPL-2.0
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
:Original: Documentation/vm/damon/design.rst
|
:Original: Documentation/mm/damon/design.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. SPDX-License-Identifier: GPL-2.0
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
:Original: Documentation/vm/damon/faq.rst
|
:Original: Documentation/mm/damon/faq.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. 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:数据访问监视器
|
|||||||
==========================
|
==========================
|
||||||
|
|
||||||
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的核心
|
|||||||
faq
|
faq
|
||||||
design
|
design
|
||||||
api
|
api
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/_free_page_reporting.rst
|
:Original: Documentation/mm/_free_page_reporting.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/_free_page_reporting.rst
|
:Original: Documentation/mm/_free_page_reporting.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/highmem.rst
|
:Original: Documentation/mm/highmem.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/hmm.rst
|
:Original: Documentation/mm/hmm.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/hugetlbfs_reserv.rst
|
:Original: Documentation/mm/hugetlbfs_reserv.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
:Original: Documentation/vm/hwpoison.rst
|
:Original: Documentation/mm/hwpoison.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/index.rst
|
:Original: Documentation/mm/index.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. include:: ../disclaimer-zh_CN.rst
|
.. include:: ../disclaimer-zh_CN.rst
|
||||||
|
|
||||||
:Original: Documentation/vm/ksm.rst
|
:Original: Documentation/mm/ksm.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. 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
|
|||||||
* 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操作,即绕过主机内存。
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/mmu_notifier.rst
|
:Original: Documentation/mm/mmu_notifier.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/numa.rst
|
:Original: Documentation/mm/numa.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/overcommit-accounting.rst
|
:Original: Documentation/mm/overcommit-accounting.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/page_frag.rst
|
:Original: Documentation/mm/page_frag.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/page_owner.rst
|
:Original: Documentation/mm/page_owner.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
.. 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
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/remap_file_pages.rst
|
:Original: Documentation/mm/remap_file_pages.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/split_page_table_lock.rst
|
:Original: Documentation/mm/split_page_table_lock.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/z3fold.rst
|
:Original: Documentation/mm/z3fold.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
:Original: Documentation/vm/zs_malloc.rst
|
:Original: Documentation/mm/zs_malloc.rst
|
||||||
|
|
||||||
:翻译:
|
:翻译:
|
||||||
|
|
@ -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
|
||||||
|
3
Documentation/vm/.gitignore
vendored
3
Documentation/vm/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
page-types
|
|
||||||
slabinfo
|
|
12
MAINTAINERS
12
MAINTAINERS
@ -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
|
|||||||
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
|
|||||||
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>
|
|||||||
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>
|
|||||||
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
|
|||||||
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,
|
|||||||
* 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 @@
|
|||||||
*
|
*
|
||||||
* 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 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 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 {
|
|||||||
* 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 {
|
|||||||
* 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);
|
|||||||
*
|
*
|
||||||
* 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)
|
|||||||
*
|
*
|
||||||
* 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)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 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
|
|||||||
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 @@
|
|||||||
#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 @@
|
|||||||
*
|
*
|
||||||
* 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,
|
|||||||
* 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 @@ again:
|
|||||||
* 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,
|
|||||||
* 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)
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user