forked from mirrors/linux
		
	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
					
				
					 107 changed files with 89 additions and 93 deletions
				
			
		|  | @ -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 @@ 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, | ||||||
| 	 * 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 a new issue
	
	 Mike Rapoport
						Mike Rapoport