public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
@ 2024-10-19  8:54 ` Dongliang Mu
  2024-10-22  1:43   ` Alex Shi
                     ` (2 more replies)
  2024-10-19  8:54 ` [PATCH 2/6] docs/zh_CN: update the translation of mm/active_mm.rst Dongliang Mu
                   ` (5 subsequent siblings)
  6 siblings, 3 replies; 15+ messages in thread
From: Dongliang Mu @ 2024-10-19  8:54 UTC (permalink / raw)
  To: si.yanteng, alexs, corbet, Yanteng Si, Dongliang Mu
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Update to commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in
heterogeneous memory management page")

scripts/checktransupdate.py reports:

Documentation/translations/zh_CN/mm/hmm.rst
commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in heterogeneous
memory management page")
commit 090a7f1009b8 ("docs/mm: remove references to hmm_mirror ops and
clean typos")
commit d56b699d76d1 ("Documentation: Fix typos")
3 commits needs resolving in total

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
---
 Documentation/translations/zh_CN/mm/hmm.rst | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/Documentation/translations/zh_CN/mm/hmm.rst b/Documentation/translations/zh_CN/mm/hmm.rst
index babbbe756c0f..0669f947d0bc 100644
--- a/Documentation/translations/zh_CN/mm/hmm.rst
+++ b/Documentation/translations/zh_CN/mm/hmm.rst
@@ -129,13 +129,7 @@ struct page可以与现有的 mm 机制进行最简单、最干净的集成。
   int hmm_range_fault(struct hmm_range *range);
 
 如果请求写访问,它将在丢失或只读条目上触发缺页异常(见下文)。缺页异常使用通用的 mm 缺
-页异常代码路径,就像 CPU 缺页异常一样。
-
-这两个函数都将 CPU 页表条目复制到它们的 pfns 数组参数中。该数组中的每个条目对应于虚拟
-范围中的一个地址。HMM 提供了一组标志来帮助驱动程序识别特殊的 CPU 页表项。
-
-在 sync_cpu_device_pagetables() 回调中锁定是驱动程序必须尊重的最重要的方面,以保
-持事物正确同步。使用模式是::
+页异常代码路径,就像 CPU 缺页异常一样。使用模式是::
 
  int driver_populate_range(...)
  {
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/6] docs/zh_CN: update the translation of mm/active_mm.rst
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
  2024-10-19  8:54 ` [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst Dongliang Mu
@ 2024-10-19  8:54 ` Dongliang Mu
  2024-10-22  1:43   ` Alex Shi
  2024-10-19  8:54 ` [PATCH 3/6] docs/zh_CN: update the translation of mm/admon/faq.rst Dongliang Mu
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Dongliang Mu @ 2024-10-19  8:54 UTC (permalink / raw)
  To: si.yanteng, alexs, corbet, Yanteng Si, Dongliang Mu
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Update to commit 88e3009b5283 ("lazy tlb: allow lazy tlb
mm refcounting to be configurable")

scripts/checktransupdate.py reports:

Documentation/translations/zh_CN/mm/active_mm.rst
commit 88e3009b5283 ("lazy tlb: allow lazy tlb mm refcounting
to be configurable")
commit ee86588960e2 ("docs/mm: remove useless markup")
2 commits needs resolving in total

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
---
 Documentation/translations/zh_CN/mm/active_mm.rst | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/translations/zh_CN/mm/active_mm.rst b/Documentation/translations/zh_CN/mm/active_mm.rst
index c2816f523bd7..b3352668c4c8 100644
--- a/Documentation/translations/zh_CN/mm/active_mm.rst
+++ b/Documentation/translations/zh_CN/mm/active_mm.rst
@@ -13,6 +13,11 @@
 Active MM
 =========
 
+注意,在配置了 CONFIG_MMU_LAZY_TLB_REFCOUNT=n 的内核中,mm_count 引用计数
+可能不再包括“懒惰”用户(运行任务中 ->active_mm == mm && ->mm == NULL)。
+获取和释放这些懒惰引用必须使用 mmgrab_lazy_tlb() 和 mmdrop_lazy_tlb() 这
+两个辅助函数,它们抽象了这个配置选项。
+
 这是一封linux之父回复开发者的一封邮件,所以翻译时我尽量保持邮件格式的完整。
 
 ::
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/6] docs/zh_CN: update the translation of mm/admon/faq.rst
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
  2024-10-19  8:54 ` [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst Dongliang Mu
  2024-10-19  8:54 ` [PATCH 2/6] docs/zh_CN: update the translation of mm/active_mm.rst Dongliang Mu
@ 2024-10-19  8:54 ` Dongliang Mu
  2024-10-22  1:43   ` Alex Shi
  2024-10-19  8:54 ` [PATCH 4/6] docs/zh_CN: update the translation of mm/overcommit-accounting.rst Dongliang Mu
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Dongliang Mu @ 2024-10-19  8:54 UTC (permalink / raw)
  To: si.yanteng, alexs, corbet, Yanteng Si, Dongliang Mu
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Update to commit c6bb975aa60b ("Docs/mm/damon/faq: remove old questions")

scripts/checktransupdate.py reports:

Documentation/translations/zh_CN/mm/damon/faq.rst
commit c6bb975aa60b ("Docs/mm/damon/faq: remove old questions")
1 commits needs resolving in total

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
---
 .../translations/zh_CN/mm/damon/faq.rst         | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/Documentation/translations/zh_CN/mm/damon/faq.rst b/Documentation/translations/zh_CN/mm/damon/faq.rst
index de4be417494a..234d63f4f072 100644
--- a/Documentation/translations/zh_CN/mm/damon/faq.rst
+++ b/Documentation/translations/zh_CN/mm/damon/faq.rst
@@ -13,23 +13,6 @@
 常见问题
 ========
 
-为什么是一个新的子系统,而不是扩展perf或其他用户空间工具?
-==========================================================
-
-首先,因为它需要尽可能的轻量级,以便可以在线使用,所以应该避免任何不必要的开销,如内核-用户
-空间的上下文切换成本。第二,DAMON的目标是被包括内核在内的其他程序所使用。因此,对特定工具
-(如perf)的依赖性是不可取的。这就是DAMON在内核空间实现的两个最大的原因。
-
-
-“闲置页面跟踪” 或 “perf mem” 可以替代DAMON吗?
-==============================================
-
-闲置页跟踪是物理地址空间访问检查的一个低层次的原始方法。“perf mem”也是类似的,尽管它可以
-使用采样来减少开销。另一方面,DAMON是一个更高层次的框架,用于监控各种地址空间。它专注于内
-存管理优化,并提供复杂的精度/开销处理机制。因此,“空闲页面跟踪” 和 “perf mem” 可以提供
-DAMON输出的一个子集,但不能替代DAMON。
-
-
 DAMON是否只支持虚拟内存?
 =========================
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/6] docs/zh_CN: update the translation of mm/overcommit-accounting.rst
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
                   ` (2 preceding siblings ...)
  2024-10-19  8:54 ` [PATCH 3/6] docs/zh_CN: update the translation of mm/admon/faq.rst Dongliang Mu
@ 2024-10-19  8:54 ` Dongliang Mu
  2024-10-22  1:44   ` Alex Shi
  2024-10-19  8:54 ` [PATCH 5/6] docs/zh_CN: update the translation of mm/page_table_check.rst Dongliang Mu
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Dongliang Mu @ 2024-10-19  8:54 UTC (permalink / raw)
  To: si.yanteng, alexs, corbet, Yanteng Si, Dongliang Mu
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Update to commit d17ff438a036 ("docs: mm: fix vm overcommit
documentation for OVERCOMMIT_GUESS")

scripts/checktransupdate.py reports:

Documentation/translations/zh_CN/mm/overcommit-accounting.rst
commit d17ff438a036 ("docs: mm: fix vm overcommit documentation
for OVERCOMMIT_GUESS")
1 commits needs resolving in total

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
---
 Documentation/translations/zh_CN/mm/overcommit-accounting.rst | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Documentation/translations/zh_CN/mm/overcommit-accounting.rst b/Documentation/translations/zh_CN/mm/overcommit-accounting.rst
index d8452d8b7fbb..f136a8b81859 100644
--- a/Documentation/translations/zh_CN/mm/overcommit-accounting.rst
+++ b/Documentation/translations/zh_CN/mm/overcommit-accounting.rst
@@ -16,8 +16,7 @@ Linux内核支持下列超量使用处理模式
 
 0
 	启发式超量使用处理。拒绝明显的地址空间超量使用。用于一个典型的系统。
-	它确保严重的疯狂分配失败,同时允许超量使用以减少swap的使用。在这种模式下,
-	允许root分配稍多的内存。这是默认的。
+	它确保严重的疯狂分配失败,同时允许超量使用以减少swap的使用。这是默认的。
 1
 	总是超量使用。适用于一些科学应用。经典的例子是使用稀疏数组的代码,只是依赖
 	几乎完全由零页组成的虚拟内存
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 5/6] docs/zh_CN: update the translation of mm/page_table_check.rst
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
                   ` (3 preceding siblings ...)
  2024-10-19  8:54 ` [PATCH 4/6] docs/zh_CN: update the translation of mm/overcommit-accounting.rst Dongliang Mu
@ 2024-10-19  8:54 ` Dongliang Mu
  2024-10-22  1:44   ` Alex Shi
  2024-10-19  8:54 ` [PATCH 6/6] docs/zh_CN: update the translation of mm/page_owner.rst Dongliang Mu
  2024-10-24 21:45 ` [PATCH 0/6] update the translation of partial files in mm Jonathan Corbet
  6 siblings, 1 reply; 15+ messages in thread
From: Dongliang Mu @ 2024-10-19  8:54 UTC (permalink / raw)
  To: si.yanteng, alexs, corbet, Yanteng Si, Dongliang Mu
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Update to commit 8430557fc584 ("mm/page_table_check: support
userfault wr-protect entries")

scripts/checktransupdate.py reports:

Documentation/translations/zh_CN/mm/page_table_check.rst
commit 8430557fc584 ("mm/page_table_check: support userfault wr-protect
entries")
commit 81a31a860bb6 ("mm: page_table_check: Make it dependent on
EXCLUSIVE_SYSTEM_RAM")
commit ee86588960e2 ("docs/mm: remove useless markup")
3 commits needs resolving in total

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
---
 .../translations/zh_CN/mm/page_table_check.rst      | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Documentation/translations/zh_CN/mm/page_table_check.rst b/Documentation/translations/zh_CN/mm/page_table_check.rst
index e8077310a76c..dc34570dceff 100644
--- a/Documentation/translations/zh_CN/mm/page_table_check.rst
+++ b/Documentation/translations/zh_CN/mm/page_table_check.rst
@@ -54,3 +54,16 @@
 
 可以选择用PAGE_TABLE_CHECK_ENFORCED来构建内核,以便在没有额外的内核参数的情况下获得页表
 支持。
+
+实现注意事项
+============
+
+我们特意决定不使用 VMA 信息,以避免依赖于 MM 状态(除了有限的 “struct page” 信息)。页表检查
+独立于 Linux-MM 状态机,它验证用户可访问的页面不会被错误地共享。
+
+PAGE_TABLE_CHECK 依赖于 EXCLUSIVE_SYSTEM_RAM。原因在于,若没有 EXCLUSIVE_SYSTEM_RAM,
+用户被允许通过 /dev/mem 将任意物理内存区域映射到用户空间。同时,页面可能在映射到用户空间期间
+改变自己的属性(例如,从匿名页面变为命名页面),导致页表检查检测到“损坏”。
+
+即使有 EXCLUSIVE_SYSTEM_RAM,I/O 页面可能仍然被允许通过 /dev/mem 映射。然而,这些页面始终
+被视为命名页面,所以它们不会破坏页表检查中使用的逻辑。
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 6/6] docs/zh_CN: update the translation of mm/page_owner.rst
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
                   ` (4 preceding siblings ...)
  2024-10-19  8:54 ` [PATCH 5/6] docs/zh_CN: update the translation of mm/page_table_check.rst Dongliang Mu
@ 2024-10-19  8:54 ` Dongliang Mu
  2024-10-22  1:44   ` Alex Shi
  2024-10-24 21:45 ` [PATCH 0/6] update the translation of partial files in mm Jonathan Corbet
  6 siblings, 1 reply; 15+ messages in thread
From: Dongliang Mu @ 2024-10-19  8:54 UTC (permalink / raw)
  To: si.yanteng, alexs, corbet, Yanteng Si, Dongliang Mu
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Update to commit f5c12105c15f ("mm,page_owner: fix refcount imbalance")

Documentation/translations/zh_CN/mm/page_owner.rst
commit f5c12105c15f ("mm,page_owner: fix refcount imbalance")
commit ba6fe5377244 ("mm,page_owner: update Documentation regarding
page_owner_stacks")
2 commits needs resolving in total

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
---
 .../translations/zh_CN/mm/page_owner.rst      | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/Documentation/translations/zh_CN/mm/page_owner.rst b/Documentation/translations/zh_CN/mm/page_owner.rst
index b72a972271d9..c0d1ca4b9695 100644
--- a/Documentation/translations/zh_CN/mm/page_owner.rst
+++ b/Documentation/translations/zh_CN/mm/page_owner.rst
@@ -26,6 +26,9 @@ page owner是用来追踪谁分配的每一个页面。它可以用来调试内
 页面所有者也可以用于各种目的。例如,可以通过每个页面的gfp标志信息获得精确的碎片
 统计。如果启用了page owner,它就已经实现并激活了。我们非常欢迎其他用途。
 
+它也可以用来显示所有的栈以及它们当前分配的基础页面数,这让我们能够快速了解内存的
+使用情况,而无需浏览所有页面并匹配分配和释放操作。
+
 page owner在默认情况下是禁用的。所以,如果你想使用它,你需要在你的启动cmdline
 中加入"page_owner=on"。如果内核是用page owner构建的,并且由于没有启用启动
 选项而在运行时禁用page owner,那么运行时的开销是很小的。如果在运行时禁用,它不
@@ -60,6 +63,49 @@ page owner在默认情况下是禁用的。所以,如果你想使用它,你
 
 4) 分析来自页面所有者的信息::
 
+	cat /sys/kernel/debug/page_owner_stacks/show_stacks > stacks.txt
+	cat stacks.txt
+	 post_alloc_hook+0x177/0x1a0
+	 get_page_from_freelist+0xd01/0xd80
+	 __alloc_pages+0x39e/0x7e0
+	 allocate_slab+0xbc/0x3f0
+	 ___slab_alloc+0x528/0x8a0
+	 kmem_cache_alloc+0x224/0x3b0
+	 sk_prot_alloc+0x58/0x1a0
+	 sk_alloc+0x32/0x4f0
+	 inet_create+0x427/0xb50
+	 __sock_create+0x2e4/0x650
+	 inet_ctl_sock_create+0x30/0x180
+	 igmp_net_init+0xc1/0x130
+	 ops_init+0x167/0x410
+	 setup_net+0x304/0xa60
+	 copy_net_ns+0x29b/0x4a0
+	 create_new_namespaces+0x4a1/0x820
+	nr_base_pages: 16
+	...
+	...
+	echo 7000 > /sys/kernel/debug/page_owner_stacks/count_threshold
+	cat /sys/kernel/debug/page_owner_stacks/show_stacks> stacks_7000.txt
+	cat stacks_7000.txt
+	 post_alloc_hook+0x177/0x1a0
+	 get_page_from_freelist+0xd01/0xd80
+	 __alloc_pages+0x39e/0x7e0
+	 alloc_pages_mpol+0x22e/0x490
+	 folio_alloc+0xd5/0x110
+	 filemap_alloc_folio+0x78/0x230
+	 page_cache_ra_order+0x287/0x6f0
+	 filemap_get_pages+0x517/0x1160
+	 filemap_read+0x304/0x9f0
+	 xfs_file_buffered_read+0xe6/0x1d0 [xfs]
+	 xfs_file_read_iter+0x1f0/0x380 [xfs]
+	 __kernel_read+0x3b9/0x730
+	 kernel_read_file+0x309/0x4d0
+	 __do_sys_finit_module+0x381/0x730
+	 do_syscall_64+0x8d/0x150
+	 entry_SYSCALL_64_after_hwframe+0x62/0x6a
+	nr_base_pages: 20824
+	...
+
 	cat /sys/kernel/debug/page_owner > page_owner_full.txt
 	./page_owner_sort page_owner_full.txt sorted_page_owner.txt
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst
  2024-10-19  8:54 ` [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst Dongliang Mu
@ 2024-10-22  1:43   ` Alex Shi
  2024-10-22  2:02   ` Alex Shi
  2024-10-22  3:28   ` Alex Shi
  2 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  1:43 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in
> heterogeneous memory management page")
> 
> scripts/checktransupdate.py reports:
> 
> Documentation/translations/zh_CN/mm/hmm.rst
> commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in heterogeneous
> memory management page")
> commit 090a7f1009b8 ("docs/mm: remove references to hmm_mirror ops and
> clean typos")
> commit d56b699d76d1 ("Documentation: Fix typos")
> 3 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  Documentation/translations/zh_CN/mm/hmm.rst | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/Documentation/translations/zh_CN/mm/hmm.rst b/Documentation/translations/zh_CN/mm/hmm.rst
> index babbbe756c0f..0669f947d0bc 100644
> --- a/Documentation/translations/zh_CN/mm/hmm.rst
> +++ b/Documentation/translations/zh_CN/mm/hmm.rst
> @@ -129,13 +129,7 @@ struct page可以与现有的 mm 机制进行最简单、最干净的集成。
>    int hmm_range_fault(struct hmm_range *range);
>  
>  如果请求写访问,它将在丢失或只读条目上触发缺页异常(见下文)。缺页异常使用通用的 mm 缺
> -页异常代码路径,就像 CPU 缺页异常一样。
> -
> -这两个函数都将 CPU 页表条目复制到它们的 pfns 数组参数中。该数组中的每个条目对应于虚拟
> -范围中的一个地址。HMM 提供了一组标志来帮助驱动程序识别特殊的 CPU 页表项。
> -
> -在 sync_cpu_device_pagetables() 回调中锁定是驱动程序必须尊重的最重要的方面,以保
> -持事物正确同步。使用模式是::
> +页异常代码路径,就像 CPU 缺页异常一样。使用模式是::
>  
>   int driver_populate_range(...)
>   {

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/6] docs/zh_CN: update the translation of mm/active_mm.rst
  2024-10-19  8:54 ` [PATCH 2/6] docs/zh_CN: update the translation of mm/active_mm.rst Dongliang Mu
@ 2024-10-22  1:43   ` Alex Shi
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  1:43 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit 88e3009b5283 ("lazy tlb: allow lazy tlb
> mm refcounting to be configurable")
> 
> scripts/checktransupdate.py reports:
> 
> Documentation/translations/zh_CN/mm/active_mm.rst
> commit 88e3009b5283 ("lazy tlb: allow lazy tlb mm refcounting
> to be configurable")
> commit ee86588960e2 ("docs/mm: remove useless markup")
> 2 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  Documentation/translations/zh_CN/mm/active_mm.rst | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Documentation/translations/zh_CN/mm/active_mm.rst b/Documentation/translations/zh_CN/mm/active_mm.rst
> index c2816f523bd7..b3352668c4c8 100644
> --- a/Documentation/translations/zh_CN/mm/active_mm.rst
> +++ b/Documentation/translations/zh_CN/mm/active_mm.rst
> @@ -13,6 +13,11 @@
>  Active MM
>  =========
>  
> +注意,在配置了 CONFIG_MMU_LAZY_TLB_REFCOUNT=n 的内核中,mm_count 引用计数
> +可能不再包括“懒惰”用户(运行任务中 ->active_mm == mm && ->mm == NULL)。
> +获取和释放这些懒惰引用必须使用 mmgrab_lazy_tlb() 和 mmdrop_lazy_tlb() 这
> +两个辅助函数,它们抽象了这个配置选项。
> +
>  这是一封linux之父回复开发者的一封邮件,所以翻译时我尽量保持邮件格式的完整。
>  
>  ::

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/6] docs/zh_CN: update the translation of mm/admon/faq.rst
  2024-10-19  8:54 ` [PATCH 3/6] docs/zh_CN: update the translation of mm/admon/faq.rst Dongliang Mu
@ 2024-10-22  1:43   ` Alex Shi
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  1:43 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit c6bb975aa60b ("Docs/mm/damon/faq: remove old questions")
>
> scripts/checktransupdate.py reports:
>
> Documentation/translations/zh_CN/mm/damon/faq.rst
> commit c6bb975aa60b ("Docs/mm/damon/faq: remove old questions")
> 1 commits needs resolving in total
>
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  .../translations/zh_CN/mm/damon/faq.rst         | 17 -----------------
>  1 file changed, 17 deletions(-)
>
> diff --git a/Documentation/translations/zh_CN/mm/damon/faq.rst b/Documentation/translations/zh_CN/mm/damon/faq.rst
> index de4be417494a..234d63f4f072 100644
> --- a/Documentation/translations/zh_CN/mm/damon/faq.rst
> +++ b/Documentation/translations/zh_CN/mm/damon/faq.rst
> @@ -13,23 +13,6 @@
>  常见问题
>  ========
>  
> -为什么是一个新的子系统,而不是扩展perf或其他用户空间工具?
> -==========================================================
> -
> -首先,因为它需要尽可能的轻量级,以便可以在线使用,所以应该避免任何不必要的开销,如内核-用户
> -空间的上下文切换成本。第二,DAMON的目标是被包括内核在内的其他程序所使用。因此,对特定工具
> -(如perf)的依赖性是不可取的。这就是DAMON在内核空间实现的两个最大的原因。
> -
> -
> -“闲置页面跟踪” 或 “perf mem” 可以替代DAMON吗?
> -==============================================
> -
> -闲置页跟踪是物理地址空间访问检查的一个低层次的原始方法。“perf mem”也是类似的,尽管它可以
> -使用采样来减少开销。另一方面,DAMON是一个更高层次的框架,用于监控各种地址空间。它专注于内
> -存管理优化,并提供复杂的精度/开销处理机制。因此,“空闲页面跟踪” 和 “perf mem” 可以提供
> -DAMON输出的一个子集,但不能替代DAMON。
> -
> -
>  DAMON是否只支持虚拟内存?
>  =========================
>  

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 4/6] docs/zh_CN: update the translation of mm/overcommit-accounting.rst
  2024-10-19  8:54 ` [PATCH 4/6] docs/zh_CN: update the translation of mm/overcommit-accounting.rst Dongliang Mu
@ 2024-10-22  1:44   ` Alex Shi
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  1:44 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit d17ff438a036 ("docs: mm: fix vm overcommit
> documentation for OVERCOMMIT_GUESS")
> 
> scripts/checktransupdate.py reports:
> 
> Documentation/translations/zh_CN/mm/overcommit-accounting.rst
> commit d17ff438a036 ("docs: mm: fix vm overcommit documentation
> for OVERCOMMIT_GUESS")
> 1 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  Documentation/translations/zh_CN/mm/overcommit-accounting.rst | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/Documentation/translations/zh_CN/mm/overcommit-accounting.rst b/Documentation/translations/zh_CN/mm/overcommit-accounting.rst
> index d8452d8b7fbb..f136a8b81859 100644
> --- a/Documentation/translations/zh_CN/mm/overcommit-accounting.rst
> +++ b/Documentation/translations/zh_CN/mm/overcommit-accounting.rst
> @@ -16,8 +16,7 @@ Linux内核支持下列超量使用处理模式
>  
>  0
>  	启发式超量使用处理。拒绝明显的地址空间超量使用。用于一个典型的系统。
> -	它确保严重的疯狂分配失败,同时允许超量使用以减少swap的使用。在这种模式下,
> -	允许root分配稍多的内存。这是默认的。
> +	它确保严重的疯狂分配失败,同时允许超量使用以减少swap的使用。这是默认的。
>  1
>  	总是超量使用。适用于一些科学应用。经典的例子是使用稀疏数组的代码,只是依赖
>  	几乎完全由零页组成的虚拟内存

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 5/6] docs/zh_CN: update the translation of mm/page_table_check.rst
  2024-10-19  8:54 ` [PATCH 5/6] docs/zh_CN: update the translation of mm/page_table_check.rst Dongliang Mu
@ 2024-10-22  1:44   ` Alex Shi
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  1:44 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit 8430557fc584 ("mm/page_table_check: support
> userfault wr-protect entries")
> 
> scripts/checktransupdate.py reports:
> 
> Documentation/translations/zh_CN/mm/page_table_check.rst
> commit 8430557fc584 ("mm/page_table_check: support userfault wr-protect
> entries")
> commit 81a31a860bb6 ("mm: page_table_check: Make it dependent on
> EXCLUSIVE_SYSTEM_RAM")
> commit ee86588960e2 ("docs/mm: remove useless markup")
> 3 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  .../translations/zh_CN/mm/page_table_check.rst      | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/Documentation/translations/zh_CN/mm/page_table_check.rst b/Documentation/translations/zh_CN/mm/page_table_check.rst
> index e8077310a76c..dc34570dceff 100644
> --- a/Documentation/translations/zh_CN/mm/page_table_check.rst
> +++ b/Documentation/translations/zh_CN/mm/page_table_check.rst
> @@ -54,3 +54,16 @@
>  
>  可以选择用PAGE_TABLE_CHECK_ENFORCED来构建内核,以便在没有额外的内核参数的情况下获得页表
>  支持。
> +
> +实现注意事项
> +============
> +
> +我们特意决定不使用 VMA 信息,以避免依赖于 MM 状态(除了有限的 “struct page” 信息)。页表检查
> +独立于 Linux-MM 状态机,它验证用户可访问的页面不会被错误地共享。
> +
> +PAGE_TABLE_CHECK 依赖于 EXCLUSIVE_SYSTEM_RAM。原因在于,若没有 EXCLUSIVE_SYSTEM_RAM,
> +用户被允许通过 /dev/mem 将任意物理内存区域映射到用户空间。同时,页面可能在映射到用户空间期间
> +改变自己的属性(例如,从匿名页面变为命名页面),导致页表检查检测到“损坏”。
> +
> +即使有 EXCLUSIVE_SYSTEM_RAM,I/O 页面可能仍然被允许通过 /dev/mem 映射。然而,这些页面始终
> +被视为命名页面,所以它们不会破坏页表检查中使用的逻辑。

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 6/6] docs/zh_CN: update the translation of mm/page_owner.rst
  2024-10-19  8:54 ` [PATCH 6/6] docs/zh_CN: update the translation of mm/page_owner.rst Dongliang Mu
@ 2024-10-22  1:44   ` Alex Shi
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  1:44 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit f5c12105c15f ("mm,page_owner: fix refcount imbalance")
> 
> Documentation/translations/zh_CN/mm/page_owner.rst
> commit f5c12105c15f ("mm,page_owner: fix refcount imbalance")
> commit ba6fe5377244 ("mm,page_owner: update Documentation regarding
> page_owner_stacks")
> 2 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  .../translations/zh_CN/mm/page_owner.rst      | 46 +++++++++++++++++++
>  1 file changed, 46 insertions(+)
> 
> diff --git a/Documentation/translations/zh_CN/mm/page_owner.rst b/Documentation/translations/zh_CN/mm/page_owner.rst
> index b72a972271d9..c0d1ca4b9695 100644
> --- a/Documentation/translations/zh_CN/mm/page_owner.rst
> +++ b/Documentation/translations/zh_CN/mm/page_owner.rst
> @@ -26,6 +26,9 @@ page owner是用来追踪谁分配的每一个页面。它可以用来调试内
>  页面所有者也可以用于各种目的。例如,可以通过每个页面的gfp标志信息获得精确的碎片
>  统计。如果启用了page owner,它就已经实现并激活了。我们非常欢迎其他用途。
>  
> +它也可以用来显示所有的栈以及它们当前分配的基础页面数,这让我们能够快速了解内存的
> +使用情况,而无需浏览所有页面并匹配分配和释放操作。
> +
>  page owner在默认情况下是禁用的。所以,如果你想使用它,你需要在你的启动cmdline
>  中加入"page_owner=on"。如果内核是用page owner构建的,并且由于没有启用启动
>  选项而在运行时禁用page owner,那么运行时的开销是很小的。如果在运行时禁用,它不
> @@ -60,6 +63,49 @@ page owner在默认情况下是禁用的。所以,如果你想使用它,你
>  
>  4) 分析来自页面所有者的信息::
>  
> +	cat /sys/kernel/debug/page_owner_stacks/show_stacks > stacks.txt
> +	cat stacks.txt
> +	 post_alloc_hook+0x177/0x1a0
> +	 get_page_from_freelist+0xd01/0xd80
> +	 __alloc_pages+0x39e/0x7e0
> +	 allocate_slab+0xbc/0x3f0
> +	 ___slab_alloc+0x528/0x8a0
> +	 kmem_cache_alloc+0x224/0x3b0
> +	 sk_prot_alloc+0x58/0x1a0
> +	 sk_alloc+0x32/0x4f0
> +	 inet_create+0x427/0xb50
> +	 __sock_create+0x2e4/0x650
> +	 inet_ctl_sock_create+0x30/0x180
> +	 igmp_net_init+0xc1/0x130
> +	 ops_init+0x167/0x410
> +	 setup_net+0x304/0xa60
> +	 copy_net_ns+0x29b/0x4a0
> +	 create_new_namespaces+0x4a1/0x820
> +	nr_base_pages: 16
> +	...
> +	...
> +	echo 7000 > /sys/kernel/debug/page_owner_stacks/count_threshold
> +	cat /sys/kernel/debug/page_owner_stacks/show_stacks> stacks_7000.txt
> +	cat stacks_7000.txt
> +	 post_alloc_hook+0x177/0x1a0
> +	 get_page_from_freelist+0xd01/0xd80
> +	 __alloc_pages+0x39e/0x7e0
> +	 alloc_pages_mpol+0x22e/0x490
> +	 folio_alloc+0xd5/0x110
> +	 filemap_alloc_folio+0x78/0x230
> +	 page_cache_ra_order+0x287/0x6f0
> +	 filemap_get_pages+0x517/0x1160
> +	 filemap_read+0x304/0x9f0
> +	 xfs_file_buffered_read+0xe6/0x1d0 [xfs]
> +	 xfs_file_read_iter+0x1f0/0x380 [xfs]
> +	 __kernel_read+0x3b9/0x730
> +	 kernel_read_file+0x309/0x4d0
> +	 __do_sys_finit_module+0x381/0x730
> +	 do_syscall_64+0x8d/0x150
> +	 entry_SYSCALL_64_after_hwframe+0x62/0x6a
> +	nr_base_pages: 20824
> +	...
> +
>  	cat /sys/kernel/debug/page_owner > page_owner_full.txt
>  	./page_owner_sort page_owner_full.txt sorted_page_owner.txt
>  

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst
  2024-10-19  8:54 ` [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst Dongliang Mu
  2024-10-22  1:43   ` Alex Shi
@ 2024-10-22  2:02   ` Alex Shi
  2024-10-22  3:28   ` Alex Shi
  2 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  2:02 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>


On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in
> heterogeneous memory management page")
> 
> scripts/checktransupdate.py reports:
> 
> Documentation/translations/zh_CN/mm/hmm.rst
> commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in heterogeneous
> memory management page")
> commit 090a7f1009b8 ("docs/mm: remove references to hmm_mirror ops and
> clean typos")
> commit d56b699d76d1 ("Documentation: Fix typos")
> 3 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  Documentation/translations/zh_CN/mm/hmm.rst | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/Documentation/translations/zh_CN/mm/hmm.rst b/Documentation/translations/zh_CN/mm/hmm.rst
> index babbbe756c0f..0669f947d0bc 100644
> --- a/Documentation/translations/zh_CN/mm/hmm.rst
> +++ b/Documentation/translations/zh_CN/mm/hmm.rst
> @@ -129,13 +129,7 @@ struct page可以与现有的 mm 机制进行最简单、最干净的集成。
>    int hmm_range_fault(struct hmm_range *range);
>  
>  如果请求写访问,它将在丢失或只读条目上触发缺页异常(见下文)。缺页异常使用通用的 mm 缺
> -页异常代码路径,就像 CPU 缺页异常一样。
> -
> -这两个函数都将 CPU 页表条目复制到它们的 pfns 数组参数中。该数组中的每个条目对应于虚拟
> -范围中的一个地址。HMM 提供了一组标志来帮助驱动程序识别特殊的 CPU 页表项。
> -
> -在 sync_cpu_device_pagetables() 回调中锁定是驱动程序必须尊重的最重要的方面,以保
> -持事物正确同步。使用模式是::
> +页异常代码路径,就像 CPU 缺页异常一样。使用模式是::
>  
>   int driver_populate_range(...)
>   {

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst
  2024-10-19  8:54 ` [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst Dongliang Mu
  2024-10-22  1:43   ` Alex Shi
  2024-10-22  2:02   ` Alex Shi
@ 2024-10-22  3:28   ` Alex Shi
  2 siblings, 0 replies; 15+ messages in thread
From: Alex Shi @ 2024-10-22  3:28 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs, corbet, Yanteng Si
  Cc: hust-os-kernel-patches, linux-doc, linux-kernel

Reviewed-by: Alex Shi <alexs@kernel.org>

On 10/19/24 16:54, Dongliang Mu wrote:
> Update to commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in
> heterogeneous memory management page")
> 
> scripts/checktransupdate.py reports:
> 
> Documentation/translations/zh_CN/mm/hmm.rst
> commit 406c4c5ee4ea ("docs:mm: fix spelling mistakes in heterogeneous
> memory management page")
> commit 090a7f1009b8 ("docs/mm: remove references to hmm_mirror ops and
> clean typos")
> commit d56b699d76d1 ("Documentation: Fix typos")
> 3 commits needs resolving in total
> 
> Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
> ---
>  Documentation/translations/zh_CN/mm/hmm.rst | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/Documentation/translations/zh_CN/mm/hmm.rst b/Documentation/translations/zh_CN/mm/hmm.rst
> index babbbe756c0f..0669f947d0bc 100644
> --- a/Documentation/translations/zh_CN/mm/hmm.rst
> +++ b/Documentation/translations/zh_CN/mm/hmm.rst
> @@ -129,13 +129,7 @@ struct page可以与现有的 mm 机制进行最简单、最干净的集成。
>    int hmm_range_fault(struct hmm_range *range);
>  
>  如果请求写访问,它将在丢失或只读条目上触发缺页异常(见下文)。缺页异常使用通用的 mm 缺
> -页异常代码路径,就像 CPU 缺页异常一样。
> -
> -这两个函数都将 CPU 页表条目复制到它们的 pfns 数组参数中。该数组中的每个条目对应于虚拟
> -范围中的一个地址。HMM 提供了一组标志来帮助驱动程序识别特殊的 CPU 页表项。
> -
> -在 sync_cpu_device_pagetables() 回调中锁定是驱动程序必须尊重的最重要的方面,以保
> -持事物正确同步。使用模式是::
> +页异常代码路径,就像 CPU 缺页异常一样。使用模式是::
>  
>   int driver_populate_range(...)
>   {

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/6] update the translation of partial files in mm
       [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
                   ` (5 preceding siblings ...)
  2024-10-19  8:54 ` [PATCH 6/6] docs/zh_CN: update the translation of mm/page_owner.rst Dongliang Mu
@ 2024-10-24 21:45 ` Jonathan Corbet
  6 siblings, 0 replies; 15+ messages in thread
From: Jonathan Corbet @ 2024-10-24 21:45 UTC (permalink / raw)
  To: Dongliang Mu, si.yanteng, alexs
  Cc: hust-os-kernel-patches, Dongliang Mu, linux-doc, linux-kernel

Dongliang Mu <dzm91@hust.edu.cn> writes:

> Dongliang Mu (6):
>   docs/zh_CN: update the translation of mm/hmm.rst
>   docs/zh_CN: update the translation of mm/active_mm.rst
>   docs/zh_CN: update the translation of mm/admon/faq.rst
>   docs/zh_CN: update the translation of mm/overcommit-accounting.rst
>   docs/zh_CN: update the translation of mm/page_table_check.rst
>   docs/zh_CN: update the translation of mm/page_owner.rst
>
>  .../translations/zh_CN/mm/active_mm.rst       |  5 ++
>  .../translations/zh_CN/mm/damon/faq.rst       | 17 -------
>  Documentation/translations/zh_CN/mm/hmm.rst   |  8 +---
>  .../zh_CN/mm/overcommit-accounting.rst        |  3 +-
>  .../translations/zh_CN/mm/page_owner.rst      | 46 +++++++++++++++++++
>  .../zh_CN/mm/page_table_check.rst             | 13 ++++++
>  6 files changed, 66 insertions(+), 26 deletions(-)
>
> -- 
> 2.43.0

Series applied, thanks.

jon

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-10-24 21:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <cover.1729327831.git.dzm91@hust.edu.cn>
2024-10-19  8:54 ` [PATCH 1/6] docs/zh_CN: update the translation of mm/hmm.rst Dongliang Mu
2024-10-22  1:43   ` Alex Shi
2024-10-22  2:02   ` Alex Shi
2024-10-22  3:28   ` Alex Shi
2024-10-19  8:54 ` [PATCH 2/6] docs/zh_CN: update the translation of mm/active_mm.rst Dongliang Mu
2024-10-22  1:43   ` Alex Shi
2024-10-19  8:54 ` [PATCH 3/6] docs/zh_CN: update the translation of mm/admon/faq.rst Dongliang Mu
2024-10-22  1:43   ` Alex Shi
2024-10-19  8:54 ` [PATCH 4/6] docs/zh_CN: update the translation of mm/overcommit-accounting.rst Dongliang Mu
2024-10-22  1:44   ` Alex Shi
2024-10-19  8:54 ` [PATCH 5/6] docs/zh_CN: update the translation of mm/page_table_check.rst Dongliang Mu
2024-10-22  1:44   ` Alex Shi
2024-10-19  8:54 ` [PATCH 6/6] docs/zh_CN: update the translation of mm/page_owner.rst Dongliang Mu
2024-10-22  1:44   ` Alex Shi
2024-10-24 21:45 ` [PATCH 0/6] update the translation of partial files in mm Jonathan Corbet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox