* [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation
@ 2026-05-23 9:44 Doehyun Baek
2026-05-23 9:44 ` [PATCH 1/2] docs/zh_CN: " Doehyun Baek
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Doehyun Baek @ 2026-05-23 9:44 UTC (permalink / raw)
To: Alex Shi, Yanteng Si, Hu Haowen
Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park,
linux-doc, linux-kernel, damon, Doehyun Baek
Hi,
The Simplified and Traditional Chinese DAMON usage translations are
missing selected updates that are already documented in the English file.
As a result, parts of the translated sysfs hierarchy and descriptions are
stale, and the translations also lack the newer introduction of DAMON's
special-purpose modules.
The gaps correspond to the following English documentation commits:
commit a7bb1e754559 ("Docs/admin-guide/mm/damon/usage: document 'nid' file")
commit e85e965bdbec ("Docs/admin-guide/mm/damon/usage: document refresh_ms file")
commit e0c725455fd5 ("Docs/admin-guide/mm/damon/usage: document addr_unit file")
commit e06469cdf1fd ("Docs/admin-guide/mm/damon/usage: document obsolete_target file")
commit 2584dd7496c5 ("Docs/admin-guide/mm/damon/usage: update for max_nr_snapshots")
commit 652fd06d20da ("Docs/admin-guide/mm/damon/usage: update stats update process for refresh_ms")
commit e7df7a0bfc90 ("Docs/admin-guide/mm/damon/usage: introduce DAMON modules at the beginning")
commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file")
Update both translations only for those stale DAMON usage entries,
including refresh_ms, addr_unit, obsolete_target, goal_tuner, nid, and
max_nr_snapshots.
Doehyun Baek (2):
docs/zh_CN: update DAMON usage sysfs documentation
docs/zh_TW: update DAMON usage sysfs documentation
.../zh_CN/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------
.../zh_TW/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------
2 files changed, 80 insertions(+), 32 deletions(-)
base-commit: 79bd2dded182b1d458b18e62684b7f82ffc682e5
--
2.43.0
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH 1/2] docs/zh_CN: update DAMON usage sysfs documentation 2026-05-23 9:44 [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation Doehyun Baek @ 2026-05-23 9:44 ` Doehyun Baek 2026-05-23 9:50 ` sashiko-bot 2026-05-23 9:44 ` [PATCH 2/2] docs/zh_TW: " Doehyun Baek ` (3 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Doehyun Baek @ 2026-05-23 9:44 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek The DAMON usage documentation translation is missing recent sysfs interface updates that are already documented in the English version, including refresh_ms, addr_unit, obsolete_target, goal_tuner, nid, and max_nr_snapshots. Update the Simplified Chinese translation for those stale sysfs entries. Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> --- .../zh_CN/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst index 9d7cb51be493..3fbfa9df9935 100644 --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst @@ -15,6 +15,10 @@ DAMON 为不同的用户提供了下面这些接口。 +- *专用DAMON模块。* + :ref:`这 <damon_modules_special_purpose>` 是为构建、发布或管理带有专用DAMON用法的内 + 核的用户准备的。使用它,用户可以在构建、启动或运行时以简单的方式为给定目的使用DAMON的主要 + 功能。 - *DAMON用户空间工具。* `这 <https://github.com/damonitor/damo>`_ 为有这特权的人, 如系统管理员,希望有一个刚好 可以工作的人性化界面。 @@ -55,14 +59,14 @@ DAMON sysfs接口的文件层次结构如下图所示。在下图中,父子关 /sys/kernel/mm/damon/admin │ kdamonds/nr_kdamonds - │ │ 0/state,pid + │ │ 0/state,pid,refresh_ms │ │ │ contexts/nr_contexts - │ │ │ │ 0/operations + │ │ │ │ 0/operations,addr_unit │ │ │ │ │ monitoring_attrs/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ targets/nr_targets - │ │ │ │ │ │ 0/pid_target + │ │ │ │ │ │ 0/pid_target,obsolete_target │ │ │ │ │ │ │ regions/nr_regions │ │ │ │ │ │ │ │ 0/start,end │ │ │ │ │ │ │ │ ... @@ -73,10 +77,12 @@ DAMON sysfs接口的文件层次结构如下图所示。在下图中,父子关 │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil + │ │ │ │ │ │ │ │ goals/nr_goals + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds,nr_snapshots,max_nr_snapshots │ │ │ │ │ │ │ tried_regions/ │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age │ │ │ │ │ │ │ │ ... @@ -104,7 +110,8 @@ kdamonds/ kdamonds/<N>/ ------------- -在每个kdamond目录中,存在两个文件(``state`` 和 ``pid`` )和一个目录( ``contexts`` )。 +在每个kdamond目录中,存在三个文件(``state``、``pid`` 和 ``refresh_ms``)和一个目录 +(``contexts``)。 读取 ``state`` 时,如果kdamond当前正在运行,则返回 ``on`` ,如果没有运行则返回 ``off`` 。 写入 ``on`` 或 ``off`` 使kdamond处于状态。向 ``state`` 文件写 ``update_schemes_stats`` , @@ -117,6 +124,10 @@ kdamonds/<N>/ 如果状态为 ``on``,读取 ``pid`` 显示kdamond线程的pid。 +用户可以要求内核通过 ``refresh_ms`` 文件周期性地更新显示自动调优参数和DAMOS统计信息的文件。 +向该文件写入希望的更新时间间隔(毫秒)。如果间隔为零,则禁用周期性更新。读取该文件会显示当前 +设置的时间间隔。 + ``contexts`` 目录包含控制这个kdamond要执行的监测上下文的文件。 kdamonds/<N>/contexts/ @@ -129,8 +140,8 @@ kdamonds/<N>/contexts/ contexts/<N>/ ------------- -在每个上下文目录中,存在一个文件(``operations``)和三个目录(``monitoring_attrs``, -``targets``, 和 ``schemes``)。 +在每个上下文目录中,存在两个文件(``operations`` 和 ``addr_unit``)和三个目录 +(``monitoring_attrs``、``targets`` 和 ``schemes``)。 DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地址空间的监测。你可以通过向文件 中写入以下关键词之一,并从文件中读取,来设置和获取DAMON将为上下文使用何种类型的监测操作。 @@ -138,6 +149,8 @@ DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地 - vaddr: 监测特定进程的虚拟地址空间 - paddr: 监视系统的物理地址空间 +``addr_unit`` 文件用于设置和获取操作集的 :ref:`地址单位 <damon_design_addr_unit>` 参数。 + contexts/<N>/monitoring_attrs/ ------------------------------ @@ -161,11 +174,15 @@ contexts/<N>/targets/ targets/<N>/ ------------ -在每个目标目录中,存在一个文件(``pid_target``)和一个目录(``regions``)。 +在每个目标目录中,存在两个文件(``pid_target`` 和 ``obsolete_target``)和一个目录 +(``regions``)。 如果你把 ``vaddr`` 写到 ``contexts/<N>/operations`` 中,每个目标应该是一个进程。你 可以通过将进程的pid写到 ``pid_target`` 文件中来指定DAMON的进程。 +用户可以向 ``obsolete_target`` 文件写入非零值并提交它(向 ``state`` 文件写入 ``commit``), +从目标数组中间选择性地删除目标。 + targets/<N>/regions ------------------- @@ -239,14 +256,20 @@ schemes/<N>/quotas/ 当预计超过配额限制时,DAMON会根据 ``目标访问模式`` 的大小、访问频率和年龄,对找到的内存区域 进行优先排序。为了进行个性化的优先排序,用户可以为这三个属性设置权重。 -在 ``quotas`` 目录下,存在三个文件(``ms``, ``bytes``, ``reset_interval_ms``)和一个 -目录(``weights``),其中有三个文件(``sz_permil``, ``nr_accesses_permil``, 和 -``age_permil``)。 +在 ``quotas`` 目录下,存在四个文件(``ms``、``bytes``、``reset_interval_ms`` 和 +``goal_tuner``)和两个目录(``weights`` 和 ``goals``)。 你可以设置以毫秒为单位的 ``时间配额`` ,以字节为单位的 ``大小配额`` ,以及以毫秒为单位的 ``重 置间隔`` ,分别向这三个文件写入数值。你还可以通过向 ``weights`` 目录下的三个文件写入数值来设 置大小、访问频率和年龄的优先权,单位为千分之一。 +你可以通过向 ``goal_tuner`` 文件写入算法名称,设置要使用的基于目标的有效配额自动调优算法。 +读取该文件会返回当前选定的调优器算法。 + +``goals`` 目录用于设置自动配额调优目标。每个目标目录包含 ``target_metric``、 +``target_value``、``current_value`` 和 ``nid`` 文件。用户可以读写这些文件来设置和获取配额 +自动调优目标的参数。 + schemes/<N>/watermarks/ ----------------------- @@ -271,10 +294,11 @@ schemes/<N>/stats/ DAMON统计每个方案被尝试应用的区域的总数量和字节数,每个方案被成功应用的区域的两个数字,以及 超过配额限制的总数量。这些统计数据可用于在线分析或调整方案。 -可以通过读取 ``stats`` 目录下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分别检索这些统计数据。这些文件不是实时更新的,所以 -你应该要求DAMON sysfs接口通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 -``update_schemes_stats`` 来更新统计信息的文件内容。 +可以通过读取 ``stats`` 目录下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 +``sz_applied``、``qt_exceeds``、``nr_snapshots`` 和 ``max_nr_snapshots``)分别检索这些 +统计数据。这些文件默认不是实时更新的。你应该要求DAMON sysfs接口通过 ``refresh_ms`` 周期性地 +更新这些文件,或者通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 +``update_schemes_stats`` 来执行一次性更新。 schemes/<N>/tried_regions/ -------------------------- -- 2.43.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] docs/zh_CN: update DAMON usage sysfs documentation 2026-05-23 9:44 ` [PATCH 1/2] docs/zh_CN: " Doehyun Baek @ 2026-05-23 9:50 ` sashiko-bot 0 siblings, 0 replies; 14+ messages in thread From: sashiko-bot @ 2026-05-23 9:50 UTC (permalink / raw) To: Doehyun Baek; +Cc: damon Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] The patch adds a translation section for 'Special-purpose DAMON modules' which is not documented in the commit message. -- commit 9721bed3b5f9230f306895ba2eeed6bb6f13a05f Author: Doehyun Baek <doehyunbaek@gmail.com> docs/zh_CN: update DAMON usage sysfs documentation This commit updates the Simplified Chinese translation of the DAMON usage sysfs documentation to include recent additions like refresh_ms, addr_unit, and goal_tuner. > diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst > index 9d7cb51be4931..3fbfa9df99350 100644 > --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst > +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst > @@ -15,6 +15,10 @@ > > DAMON 为不同的用户提供了下面这些接口。 > > +- *专用DAMON模块。* > + :ref:`这 <damon_modules_special_purpose>` 是为构建、发布或管理带有专用DAMON用法的内 > + 核的用户准备的。使用它,用户可以在构建、启动或运行时以简单的方式为给定目的使用DAMON的主要 > + 功能。 [Severity: Low] This isn't a bug, but the commit message states the patch only updates stale sysfs entries, yet it also includes this new translation section for "Special-purpose DAMON modules". Could the commit message be updated to reflect that this introductory section is also being translated? [ ... ] -- Sashiko AI review · https://sashiko.dev/#/patchset/20260523094420.741003-1-doehyunbaek@gmail.com?part=1 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/2] docs/zh_TW: update DAMON usage sysfs documentation 2026-05-23 9:44 [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation Doehyun Baek 2026-05-23 9:44 ` [PATCH 1/2] docs/zh_CN: " Doehyun Baek @ 2026-05-23 9:44 ` Doehyun Baek 2026-06-08 2:12 ` [PATCH 0/2] docs/zh: " Dongliang Mu ` (2 subsequent siblings) 4 siblings, 0 replies; 14+ messages in thread From: Doehyun Baek @ 2026-05-23 9:44 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek The DAMON usage documentation translation is missing recent sysfs interface updates that are already documented in the English version, including refresh_ms, addr_unit, obsolete_target, goal_tuner, nid, and max_nr_snapshots. Update the Traditional Chinese translation for those stale sysfs entries. Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> --- .../zh_TW/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst index d3fd4f850793..debe455723af 100644 --- a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst +++ b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst @@ -15,6 +15,10 @@ DAMON 爲不同的用戶提供了下面這些接口。 +- *專用DAMON模塊。* + :ref:`這 <damon_modules_special_purpose>` 是爲構建、發佈或管理帶有專用DAMON用法的內 + 核的用戶準備的。使用它,用戶可以在構建、啓動或運行時以簡單的方式爲給定目的使用DAMON的主要 + 功能。 - *DAMON用戶空間工具。* `這 <https://github.com/damonitor/damo>`_ 爲有這特權的人, 如系統管理員,希望有一個剛好 可以工作的人性化界面。 @@ -55,14 +59,14 @@ DAMON sysfs接口的文件層次結構如下圖所示。在下圖中,父子關 /sys/kernel/mm/damon/admin │ kdamonds/nr_kdamonds - │ │ 0/state,pid + │ │ 0/state,pid,refresh_ms │ │ │ contexts/nr_contexts - │ │ │ │ 0/operations + │ │ │ │ 0/operations,addr_unit │ │ │ │ │ monitoring_attrs/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ targets/nr_targets - │ │ │ │ │ │ 0/pid_target + │ │ │ │ │ │ 0/pid_target,obsolete_target │ │ │ │ │ │ │ regions/nr_regions │ │ │ │ │ │ │ │ 0/start,end │ │ │ │ │ │ │ │ ... @@ -73,10 +77,12 @@ DAMON sysfs接口的文件層次結構如下圖所示。在下圖中,父子關 │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil + │ │ │ │ │ │ │ │ goals/nr_goals + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds,nr_snapshots,max_nr_snapshots │ │ │ │ │ │ │ tried_regions/ │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age │ │ │ │ │ │ │ │ ... @@ -104,7 +110,8 @@ kdamonds/ kdamonds/<N>/ ------------- -在每個kdamond目錄中,存在兩個文件(``state`` 和 ``pid`` )和一個目錄( ``contexts`` )。 +在每個kdamond目錄中,存在三個文件(``state``、``pid`` 和 ``refresh_ms``)和一個目錄 +(``contexts``)。 讀取 ``state`` 時,如果kdamond當前正在運行,則返回 ``on`` ,如果沒有運行則返回 ``off`` 。 寫入 ``on`` 或 ``off`` 使kdamond處於狀態。向 ``state`` 文件寫 ``update_schemes_stats`` , @@ -117,6 +124,10 @@ kdamonds/<N>/ 如果狀態爲 ``on``,讀取 ``pid`` 顯示kdamond線程的pid。 +用戶可以要求內核通過 ``refresh_ms`` 文件週期性地更新顯示自動調優參數和DAMOS統計信息的文件。 +向該文件寫入希望的更新時間間隔(毫秒)。如果間隔爲零,則禁用週期性更新。讀取該文件會顯示當前 +設置的時間間隔。 + ``contexts`` 目錄包含控制這個kdamond要執行的監測上下文的文件。 kdamonds/<N>/contexts/ @@ -129,8 +140,8 @@ kdamonds/<N>/contexts/ contexts/<N>/ ------------- -在每個上下文目錄中,存在一個文件(``operations``)和三個目錄(``monitoring_attrs``, -``targets``, 和 ``schemes``)。 +在每個上下文目錄中,存在兩個文件(``operations`` 和 ``addr_unit``)和三個目錄 +(``monitoring_attrs``、``targets`` 和 ``schemes``)。 DAMON支持多種類型的監測操作,包括對虛擬地址空間和物理地址空間的監測。你可以通過向文件 中寫入以下關鍵詞之一,並從文件中讀取,來設置和獲取DAMON將爲上下文使用何種類型的監測操作。 @@ -138,6 +149,8 @@ DAMON支持多種類型的監測操作,包括對虛擬地址空間和物理地 - vaddr: 監測特定進程的虛擬地址空間 - paddr: 監視系統的物理地址空間 +``addr_unit`` 文件用於設置和獲取操作集的 :ref:`地址單位 <damon_design_addr_unit>` 參數。 + contexts/<N>/monitoring_attrs/ ------------------------------ @@ -161,11 +174,15 @@ contexts/<N>/targets/ targets/<N>/ ------------ -在每個目標目錄中,存在一個文件(``pid_target``)和一個目錄(``regions``)。 +在每個目標目錄中,存在兩個文件(``pid_target`` 和 ``obsolete_target``)和一個目錄 +(``regions``)。 如果你把 ``vaddr`` 寫到 ``contexts/<N>/operations`` 中,每個目標應該是一個進程。你 可以通過將進程的pid寫到 ``pid_target`` 文件中來指定DAMON的進程。 +用戶可以向 ``obsolete_target`` 文件寫入非零值並提交它(向 ``state`` 文件寫入 ``commit``), +從目標數組中間選擇性地刪除目標。 + targets/<N>/regions ------------------- @@ -239,14 +256,20 @@ schemes/<N>/quotas/ 當預計超過配額限制時,DAMON會根據 ``目標訪問模式`` 的大小、訪問頻率和年齡,對找到的內存區域 進行優先排序。爲了進行個性化的優先排序,用戶可以爲這三個屬性設置權重。 -在 ``quotas`` 目錄下,存在三個文件(``ms``, ``bytes``, ``reset_interval_ms``)和一個 -目錄(``weights``),其中有三個文件(``sz_permil``, ``nr_accesses_permil``, 和 -``age_permil``)。 +在 ``quotas`` 目錄下,存在四個文件(``ms``、``bytes``、``reset_interval_ms`` 和 +``goal_tuner``)和兩個目錄(``weights`` 和 ``goals``)。 你可以設置以毫秒爲單位的 ``時間配額`` ,以字節爲單位的 ``大小配額`` ,以及以毫秒爲單位的 ``重 置間隔`` ,分別向這三個文件寫入數值。你還可以通過向 ``weights`` 目錄下的三個文件寫入數值來設 置大小、訪問頻率和年齡的優先權,單位爲千分之一。 +你可以通過向 ``goal_tuner`` 文件寫入算法名稱,設置要使用的基於目標的有效配額自動調優算法。 +讀取該文件會返回當前選定的調優器算法。 + +``goals`` 目錄用於設置自動配額調優目標。每個目標目錄包含 ``target_metric``、 +``target_value``、``current_value`` 和 ``nid`` 文件。用戶可以讀寫這些文件來設置和獲取配額 +自動調優目標的參數。 + schemes/<N>/watermarks/ ----------------------- @@ -271,10 +294,11 @@ schemes/<N>/stats/ DAMON統計每個方案被嘗試應用的區域的總數量和字節數,每個方案被成功應用的區域的兩個數字,以及 超過配額限制的總數量。這些統計數據可用於在線分析或調整方案。 -可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分別檢索這些統計數據。這些文件不是實時更新的,所以 -你應該要求DAMON sysfs接口通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 -``update_schemes_stats`` 來更新統計信息的文件內容。 +可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 +``sz_applied``、``qt_exceeds``、``nr_snapshots`` 和 ``max_nr_snapshots``)分別檢索這些 +統計數據。這些文件默認不是實時更新的。你應該要求DAMON sysfs接口通過 ``refresh_ms`` 週期性地 +更新這些文件,或者通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 +``update_schemes_stats`` 來執行一次性更新。 schemes/<N>/tried_regions/ -------------------------- -- 2.43.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation 2026-05-23 9:44 [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation Doehyun Baek 2026-05-23 9:44 ` [PATCH 1/2] docs/zh_CN: " Doehyun Baek 2026-05-23 9:44 ` [PATCH 2/2] docs/zh_TW: " Doehyun Baek @ 2026-06-08 2:12 ` Dongliang Mu 2026-06-08 6:03 ` [PATCH v2 " Doehyun Baek 2026-06-08 6:57 ` [PATCH v3 " Doehyun Baek 4 siblings, 0 replies; 14+ messages in thread From: Dongliang Mu @ 2026-06-08 2:12 UTC (permalink / raw) To: Doehyun Baek, Alex Shi, Yanteng Si, Hu Haowen Cc: Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon On 5/23/26 5:44 PM, Doehyun Baek wrote: > Hi, > > The Simplified and Traditional Chinese DAMON usage translations are > missing selected updates that are already documented in the English file. > As a result, parts of the translated sysfs hierarchy and descriptions are > stale, and the translations also lack the newer introduction of DAMON's > special-purpose modules. Hi Doehyun, Thanks for your patch. To track the translation status of the documentation in different locales, we define a uniform format in how-to.rst [1]. Please revise the commit message of two patches. docs/zh_CN: Add/Update self-protection index Chinese translation Translate .../security/self-protection.rst into Chinese. Update the translation through commit b080e52110ea ("docs: update self-protection __ro_after_init status") # 请执行 git log --oneline <您翻译的英文文档路径>,并替换上述内容 Signed-off-by: Yanteng Si <si.yanteng@linux.dev> # 如果您前面的步骤正确执行,该行会自动显示,否则请检查 gitconfig 文件 [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/translations/zh_CN/how-to.rst#n252 > > The gaps correspond to the following English documentation commits: > > commit a7bb1e754559 ("Docs/admin-guide/mm/damon/usage: document 'nid' file") > commit e85e965bdbec ("Docs/admin-guide/mm/damon/usage: document refresh_ms file") > commit e0c725455fd5 ("Docs/admin-guide/mm/damon/usage: document addr_unit file") > commit e06469cdf1fd ("Docs/admin-guide/mm/damon/usage: document obsolete_target file") > commit 2584dd7496c5 ("Docs/admin-guide/mm/damon/usage: update for max_nr_snapshots") > commit 652fd06d20da ("Docs/admin-guide/mm/damon/usage: update stats update process for refresh_ms") > commit e7df7a0bfc90 ("Docs/admin-guide/mm/damon/usage: introduce DAMON modules at the beginning") > commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") > > Update both translations only for those stale DAMON usage entries, > including refresh_ms, addr_unit, obsolete_target, goal_tuner, nid, and > max_nr_snapshots. > > Doehyun Baek (2): > docs/zh_CN: update DAMON usage sysfs documentation > docs/zh_TW: update DAMON usage sysfs documentation > > .../zh_CN/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ > .../zh_TW/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ > 2 files changed, 80 insertions(+), 32 deletions(-) > > > base-commit: 79bd2dded182b1d458b18e62684b7f82ffc682e5 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 0/2] docs/zh: update DAMON usage sysfs documentation 2026-05-23 9:44 [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation Doehyun Baek ` (2 preceding siblings ...) 2026-06-08 2:12 ` [PATCH 0/2] docs/zh: " Dongliang Mu @ 2026-06-08 6:03 ` Doehyun Baek 2026-06-08 6:03 ` [PATCH v2 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek ` (2 more replies) 2026-06-08 6:57 ` [PATCH v3 " Doehyun Baek 4 siblings, 3 replies; 14+ messages in thread From: Doehyun Baek @ 2026-06-08 6:03 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek Changes since v1: - Revise both commit messages to follow the translation update format documented in Documentation/translations/zh_CN/how-to.rst. Doehyun Baek (2): docs/zh_CN: update DAMON usage Chinese translation docs/zh_TW: update DAMON usage Traditional Chinese translation .../zh_CN/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ .../zh_TW/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ 2 files changed, 80 insertions(+), 32 deletions(-) base-commit: 4549871118cf616eecdd2d939f78e3b9e1dddc48 -- 2.43.0 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 1/2] docs/zh_CN: update DAMON usage Chinese translation 2026-06-08 6:03 ` [PATCH v2 " Doehyun Baek @ 2026-06-08 6:03 ` Doehyun Baek 2026-06-08 6:03 ` [PATCH v2 2/2] docs/zh_TW: update DAMON usage Traditional " Doehyun Baek [not found] ` <CAN-j9UrkjjrO-1fs9Q4_HQMTM5Gj1qjyNLF5F1JG+Wzimd5naw@mail.gmail.com> 2 siblings, 0 replies; 14+ messages in thread From: Doehyun Baek @ 2026-06-08 6:03 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek Update the translation of .../admin-guide/mm/damon/usage.rst into Chinese. Update the translation through commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> --- .../zh_CN/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst index 9d7cb51be493..3fbfa9df9935 100644 --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst @@ -15,6 +15,10 @@ DAMON 为不同的用户提供了下面这些接口。 +- *专用DAMON模块。* + :ref:`这 <damon_modules_special_purpose>` 是为构建、发布或管理带有专用DAMON用法的内 + 核的用户准备的。使用它,用户可以在构建、启动或运行时以简单的方式为给定目的使用DAMON的主要 + 功能。 - *DAMON用户空间工具。* `这 <https://github.com/damonitor/damo>`_ 为有这特权的人, 如系统管理员,希望有一个刚好 可以工作的人性化界面。 @@ -55,14 +59,14 @@ DAMON sysfs接口的文件层次结构如下图所示。在下图中,父子关 /sys/kernel/mm/damon/admin │ kdamonds/nr_kdamonds - │ │ 0/state,pid + │ │ 0/state,pid,refresh_ms │ │ │ contexts/nr_contexts - │ │ │ │ 0/operations + │ │ │ │ 0/operations,addr_unit │ │ │ │ │ monitoring_attrs/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ targets/nr_targets - │ │ │ │ │ │ 0/pid_target + │ │ │ │ │ │ 0/pid_target,obsolete_target │ │ │ │ │ │ │ regions/nr_regions │ │ │ │ │ │ │ │ 0/start,end │ │ │ │ │ │ │ │ ... @@ -73,10 +77,12 @@ DAMON sysfs接口的文件层次结构如下图所示。在下图中,父子关 │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil + │ │ │ │ │ │ │ │ goals/nr_goals + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds,nr_snapshots,max_nr_snapshots │ │ │ │ │ │ │ tried_regions/ │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age │ │ │ │ │ │ │ │ ... @@ -104,7 +110,8 @@ kdamonds/ kdamonds/<N>/ ------------- -在每个kdamond目录中,存在两个文件(``state`` 和 ``pid`` )和一个目录( ``contexts`` )。 +在每个kdamond目录中,存在三个文件(``state``、``pid`` 和 ``refresh_ms``)和一个目录 +(``contexts``)。 读取 ``state`` 时,如果kdamond当前正在运行,则返回 ``on`` ,如果没有运行则返回 ``off`` 。 写入 ``on`` 或 ``off`` 使kdamond处于状态。向 ``state`` 文件写 ``update_schemes_stats`` , @@ -117,6 +124,10 @@ kdamonds/<N>/ 如果状态为 ``on``,读取 ``pid`` 显示kdamond线程的pid。 +用户可以要求内核通过 ``refresh_ms`` 文件周期性地更新显示自动调优参数和DAMOS统计信息的文件。 +向该文件写入希望的更新时间间隔(毫秒)。如果间隔为零,则禁用周期性更新。读取该文件会显示当前 +设置的时间间隔。 + ``contexts`` 目录包含控制这个kdamond要执行的监测上下文的文件。 kdamonds/<N>/contexts/ @@ -129,8 +140,8 @@ kdamonds/<N>/contexts/ contexts/<N>/ ------------- -在每个上下文目录中,存在一个文件(``operations``)和三个目录(``monitoring_attrs``, -``targets``, 和 ``schemes``)。 +在每个上下文目录中,存在两个文件(``operations`` 和 ``addr_unit``)和三个目录 +(``monitoring_attrs``、``targets`` 和 ``schemes``)。 DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地址空间的监测。你可以通过向文件 中写入以下关键词之一,并从文件中读取,来设置和获取DAMON将为上下文使用何种类型的监测操作。 @@ -138,6 +149,8 @@ DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地 - vaddr: 监测特定进程的虚拟地址空间 - paddr: 监视系统的物理地址空间 +``addr_unit`` 文件用于设置和获取操作集的 :ref:`地址单位 <damon_design_addr_unit>` 参数。 + contexts/<N>/monitoring_attrs/ ------------------------------ @@ -161,11 +174,15 @@ contexts/<N>/targets/ targets/<N>/ ------------ -在每个目标目录中,存在一个文件(``pid_target``)和一个目录(``regions``)。 +在每个目标目录中,存在两个文件(``pid_target`` 和 ``obsolete_target``)和一个目录 +(``regions``)。 如果你把 ``vaddr`` 写到 ``contexts/<N>/operations`` 中,每个目标应该是一个进程。你 可以通过将进程的pid写到 ``pid_target`` 文件中来指定DAMON的进程。 +用户可以向 ``obsolete_target`` 文件写入非零值并提交它(向 ``state`` 文件写入 ``commit``), +从目标数组中间选择性地删除目标。 + targets/<N>/regions ------------------- @@ -239,14 +256,20 @@ schemes/<N>/quotas/ 当预计超过配额限制时,DAMON会根据 ``目标访问模式`` 的大小、访问频率和年龄,对找到的内存区域 进行优先排序。为了进行个性化的优先排序,用户可以为这三个属性设置权重。 -在 ``quotas`` 目录下,存在三个文件(``ms``, ``bytes``, ``reset_interval_ms``)和一个 -目录(``weights``),其中有三个文件(``sz_permil``, ``nr_accesses_permil``, 和 -``age_permil``)。 +在 ``quotas`` 目录下,存在四个文件(``ms``、``bytes``、``reset_interval_ms`` 和 +``goal_tuner``)和两个目录(``weights`` 和 ``goals``)。 你可以设置以毫秒为单位的 ``时间配额`` ,以字节为单位的 ``大小配额`` ,以及以毫秒为单位的 ``重 置间隔`` ,分别向这三个文件写入数值。你还可以通过向 ``weights`` 目录下的三个文件写入数值来设 置大小、访问频率和年龄的优先权,单位为千分之一。 +你可以通过向 ``goal_tuner`` 文件写入算法名称,设置要使用的基于目标的有效配额自动调优算法。 +读取该文件会返回当前选定的调优器算法。 + +``goals`` 目录用于设置自动配额调优目标。每个目标目录包含 ``target_metric``、 +``target_value``、``current_value`` 和 ``nid`` 文件。用户可以读写这些文件来设置和获取配额 +自动调优目标的参数。 + schemes/<N>/watermarks/ ----------------------- @@ -271,10 +294,11 @@ schemes/<N>/stats/ DAMON统计每个方案被尝试应用的区域的总数量和字节数,每个方案被成功应用的区域的两个数字,以及 超过配额限制的总数量。这些统计数据可用于在线分析或调整方案。 -可以通过读取 ``stats`` 目录下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分别检索这些统计数据。这些文件不是实时更新的,所以 -你应该要求DAMON sysfs接口通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 -``update_schemes_stats`` 来更新统计信息的文件内容。 +可以通过读取 ``stats`` 目录下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 +``sz_applied``、``qt_exceeds``、``nr_snapshots`` 和 ``max_nr_snapshots``)分别检索这些 +统计数据。这些文件默认不是实时更新的。你应该要求DAMON sysfs接口通过 ``refresh_ms`` 周期性地 +更新这些文件,或者通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 +``update_schemes_stats`` 来执行一次性更新。 schemes/<N>/tried_regions/ -------------------------- -- 2.43.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 2/2] docs/zh_TW: update DAMON usage Traditional Chinese translation 2026-06-08 6:03 ` [PATCH v2 " Doehyun Baek 2026-06-08 6:03 ` [PATCH v2 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek @ 2026-06-08 6:03 ` Doehyun Baek 2026-06-08 6:10 ` sashiko-bot [not found] ` <CAN-j9UrkjjrO-1fs9Q4_HQMTM5Gj1qjyNLF5F1JG+Wzimd5naw@mail.gmail.com> 2 siblings, 1 reply; 14+ messages in thread From: Doehyun Baek @ 2026-06-08 6:03 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek Update the translation of .../admin-guide/mm/damon/usage.rst into Traditional Chinese. Update the translation through commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> --- .../zh_TW/admin-guide/mm/damon/usage.rst | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst index d3fd4f850793..debe455723af 100644 --- a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst +++ b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst @@ -15,6 +15,10 @@ DAMON 爲不同的用戶提供了下面這些接口。 +- *專用DAMON模塊。* + :ref:`這 <damon_modules_special_purpose>` 是爲構建、發佈或管理帶有專用DAMON用法的內 + 核的用戶準備的。使用它,用戶可以在構建、啓動或運行時以簡單的方式爲給定目的使用DAMON的主要 + 功能。 - *DAMON用戶空間工具。* `這 <https://github.com/damonitor/damo>`_ 爲有這特權的人, 如系統管理員,希望有一個剛好 可以工作的人性化界面。 @@ -55,14 +59,14 @@ DAMON sysfs接口的文件層次結構如下圖所示。在下圖中,父子關 /sys/kernel/mm/damon/admin │ kdamonds/nr_kdamonds - │ │ 0/state,pid + │ │ 0/state,pid,refresh_ms │ │ │ contexts/nr_contexts - │ │ │ │ 0/operations + │ │ │ │ 0/operations,addr_unit │ │ │ │ │ monitoring_attrs/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ targets/nr_targets - │ │ │ │ │ │ 0/pid_target + │ │ │ │ │ │ 0/pid_target,obsolete_target │ │ │ │ │ │ │ regions/nr_regions │ │ │ │ │ │ │ │ 0/start,end │ │ │ │ │ │ │ │ ... @@ -73,10 +77,12 @@ DAMON sysfs接口的文件層次結構如下圖所示。在下圖中,父子關 │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil + │ │ │ │ │ │ │ │ goals/nr_goals + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds,nr_snapshots,max_nr_snapshots │ │ │ │ │ │ │ tried_regions/ │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age │ │ │ │ │ │ │ │ ... @@ -104,7 +110,8 @@ kdamonds/ kdamonds/<N>/ ------------- -在每個kdamond目錄中,存在兩個文件(``state`` 和 ``pid`` )和一個目錄( ``contexts`` )。 +在每個kdamond目錄中,存在三個文件(``state``、``pid`` 和 ``refresh_ms``)和一個目錄 +(``contexts``)。 讀取 ``state`` 時,如果kdamond當前正在運行,則返回 ``on`` ,如果沒有運行則返回 ``off`` 。 寫入 ``on`` 或 ``off`` 使kdamond處於狀態。向 ``state`` 文件寫 ``update_schemes_stats`` , @@ -117,6 +124,10 @@ kdamonds/<N>/ 如果狀態爲 ``on``,讀取 ``pid`` 顯示kdamond線程的pid。 +用戶可以要求內核通過 ``refresh_ms`` 文件週期性地更新顯示自動調優參數和DAMOS統計信息的文件。 +向該文件寫入希望的更新時間間隔(毫秒)。如果間隔爲零,則禁用週期性更新。讀取該文件會顯示當前 +設置的時間間隔。 + ``contexts`` 目錄包含控制這個kdamond要執行的監測上下文的文件。 kdamonds/<N>/contexts/ @@ -129,8 +140,8 @@ kdamonds/<N>/contexts/ contexts/<N>/ ------------- -在每個上下文目錄中,存在一個文件(``operations``)和三個目錄(``monitoring_attrs``, -``targets``, 和 ``schemes``)。 +在每個上下文目錄中,存在兩個文件(``operations`` 和 ``addr_unit``)和三個目錄 +(``monitoring_attrs``、``targets`` 和 ``schemes``)。 DAMON支持多種類型的監測操作,包括對虛擬地址空間和物理地址空間的監測。你可以通過向文件 中寫入以下關鍵詞之一,並從文件中讀取,來設置和獲取DAMON將爲上下文使用何種類型的監測操作。 @@ -138,6 +149,8 @@ DAMON支持多種類型的監測操作,包括對虛擬地址空間和物理地 - vaddr: 監測特定進程的虛擬地址空間 - paddr: 監視系統的物理地址空間 +``addr_unit`` 文件用於設置和獲取操作集的 :ref:`地址單位 <damon_design_addr_unit>` 參數。 + contexts/<N>/monitoring_attrs/ ------------------------------ @@ -161,11 +174,15 @@ contexts/<N>/targets/ targets/<N>/ ------------ -在每個目標目錄中,存在一個文件(``pid_target``)和一個目錄(``regions``)。 +在每個目標目錄中,存在兩個文件(``pid_target`` 和 ``obsolete_target``)和一個目錄 +(``regions``)。 如果你把 ``vaddr`` 寫到 ``contexts/<N>/operations`` 中,每個目標應該是一個進程。你 可以通過將進程的pid寫到 ``pid_target`` 文件中來指定DAMON的進程。 +用戶可以向 ``obsolete_target`` 文件寫入非零值並提交它(向 ``state`` 文件寫入 ``commit``), +從目標數組中間選擇性地刪除目標。 + targets/<N>/regions ------------------- @@ -239,14 +256,20 @@ schemes/<N>/quotas/ 當預計超過配額限制時,DAMON會根據 ``目標訪問模式`` 的大小、訪問頻率和年齡,對找到的內存區域 進行優先排序。爲了進行個性化的優先排序,用戶可以爲這三個屬性設置權重。 -在 ``quotas`` 目錄下,存在三個文件(``ms``, ``bytes``, ``reset_interval_ms``)和一個 -目錄(``weights``),其中有三個文件(``sz_permil``, ``nr_accesses_permil``, 和 -``age_permil``)。 +在 ``quotas`` 目錄下,存在四個文件(``ms``、``bytes``、``reset_interval_ms`` 和 +``goal_tuner``)和兩個目錄(``weights`` 和 ``goals``)。 你可以設置以毫秒爲單位的 ``時間配額`` ,以字節爲單位的 ``大小配額`` ,以及以毫秒爲單位的 ``重 置間隔`` ,分別向這三個文件寫入數值。你還可以通過向 ``weights`` 目錄下的三個文件寫入數值來設 置大小、訪問頻率和年齡的優先權,單位爲千分之一。 +你可以通過向 ``goal_tuner`` 文件寫入算法名稱,設置要使用的基於目標的有效配額自動調優算法。 +讀取該文件會返回當前選定的調優器算法。 + +``goals`` 目錄用於設置自動配額調優目標。每個目標目錄包含 ``target_metric``、 +``target_value``、``current_value`` 和 ``nid`` 文件。用戶可以讀寫這些文件來設置和獲取配額 +自動調優目標的參數。 + schemes/<N>/watermarks/ ----------------------- @@ -271,10 +294,11 @@ schemes/<N>/stats/ DAMON統計每個方案被嘗試應用的區域的總數量和字節數,每個方案被成功應用的區域的兩個數字,以及 超過配額限制的總數量。這些統計數據可用於在線分析或調整方案。 -可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分別檢索這些統計數據。這些文件不是實時更新的,所以 -你應該要求DAMON sysfs接口通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 -``update_schemes_stats`` 來更新統計信息的文件內容。 +可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 +``sz_applied``、``qt_exceeds``、``nr_snapshots`` 和 ``max_nr_snapshots``)分別檢索這些 +統計數據。這些文件默認不是實時更新的。你應該要求DAMON sysfs接口通過 ``refresh_ms`` 週期性地 +更新這些文件,或者通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 +``update_schemes_stats`` 來執行一次性更新。 schemes/<N>/tried_regions/ -------------------------- -- 2.43.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/2] docs/zh_TW: update DAMON usage Traditional Chinese translation 2026-06-08 6:03 ` [PATCH v2 2/2] docs/zh_TW: update DAMON usage Traditional " Doehyun Baek @ 2026-06-08 6:10 ` sashiko-bot 0 siblings, 0 replies; 14+ messages in thread From: sashiko-bot @ 2026-06-08 6:10 UTC (permalink / raw) To: Doehyun Baek; +Cc: damon Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] The translation claims to be updated through commit d9cfe515d36e, but explicitly omits several sysfs parameters and directories present in the English original, hardcoding incorrect file counts. -- commit 69ef298c0d81e39d7556769971e7428e3c8df741 Author: Doehyun Baek <doehyunbaek@gmail.com> docs/zh_TW: update DAMON usage Traditional Chinese translation Update the translation of .../admin-guide/mm/damon/usage.rst into Traditional Chinese. Update the translation through commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") > diff --git a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst > index d3fd4f8507933..debe455723afb 100644 > --- a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst > +++ b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst [ ... ] > @@ -55,14 +59,14 @@ DAMON sysfs接口的文件層次結構如下圖所示。在下圖中,父子關 > > /sys/kernel/mm/damon/admin > │ kdamonds/nr_kdamonds > - │ │ 0/state,pid > + │ │ 0/state,pid,refresh_ms > │ │ │ contexts/nr_contexts > - │ │ │ │ 0/operations > + │ │ │ │ 0/operations,addr_unit [Severity: Medium] Since this patch updates the translation through commit d9cfe515d36e, should the sysfs hierarchy diagram also be updated to include the missing fields from the English original at that commit? Entries like avail_operations, effective_bytes, filters, dests, and target_nid appear to be missing from the diagram. [ ... ] > @@ -129,8 +140,8 @@ kdamonds/<N>/contexts/ > contexts/<N>/ > ------------- > > -在每個上下文目錄中,存在一個文件(``operations``)和三個目錄(``monitoring_attrs``, > -``targets``, 和 ``schemes``)。 > +在每個上下文目錄中,存在兩個文件(``operations`` 和 ``addr_unit``)和三個目錄 > +(``monitoring_attrs``、``targets`` 和 ``schemes``)。 [Severity: Medium] Does this description miss the avail_operations file? The English version at the targeted commit includes it in the contexts/<N>/ directory. [ ... ] > @@ -239,14 +256,20 @@ schemes/<N>/quotas/ > 當預計超過配額限制時,DAMON會根據 ``目標訪問模式`` 的大小、訪問頻率和年齡,對找到的內存區域 > 進行優先排序。爲了進行個性化的優先排序,用戶可以爲這三個屬性設置權重。 > > -在 ``quotas`` 目錄下,存在三個文件(``ms``, ``bytes``, ``reset_interval_ms``)和一個 > -目錄(``weights``),其中有三個文件(``sz_permil``, ``nr_accesses_permil``, 和 > -``age_permil``)。 > +在 ``quotas`` 目錄下,存在四個文件(``ms``、``bytes``、``reset_interval_ms`` 和 > +``goal_tuner``)和兩個目錄(``weights`` 和 ``goals``)。 [Severity: Medium] Should effective_bytes be included here? The English baseline has five files listed for the quotas directory. > > 你可以設置以毫秒爲單位的 ``時間配額`` ,以字節爲單位的 ``大小配額`` ,以及以毫秒爲單位的 ``重 > 置間隔`` ,分別向這三個文件寫入數值。你還可以通過向 ``weights`` 目錄下的三個文件寫入數值來設 > 置大小、訪問頻率和年齡的優先權,單位爲千分之一。 > > +你可以通過向 ``goal_tuner`` 文件寫入算法名稱,設置要使用的基於目標的有效配額自動調優算法。 > +讀取該文件會返回當前選定的調優器算法。 > + > +``goals`` 目錄用於設置自動配額調優目標。每個目標目錄包含 ``target_metric``、 > +``target_value``、``current_value`` 和 ``nid`` 文件。用戶可以讀寫這些文件來設置和獲取配額 > +自動調優目標的參數。 [Severity: Medium] Is the path file missing from the goals directory list? [ ... ] > @@ -271,10 +294,11 @@ schemes/<N>/stats/ > DAMON統計每個方案被嘗試應用的區域的總數量和字節數,每個方案被成功應用的區域的兩個數字,以及 > 超過配額限制的總數量。這些統計數據可用於在線分析或調整方案。 > > -可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, > -``sz_applied``, 和 ``qt_exceeds``))分別檢索這些統計數據。這些文件不是實時更新的,所以 > -你應該要求DAMON sysfs接口通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 > -``update_schemes_stats`` 來更新統計信息的文件內容。 > +可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 > +``sz_applied``、``qt_exceeds``、``nr_snapshots`` 和 ``max_nr_snapshots``)分別檢索這些 [Severity: Medium] Should sz_ops_filter_passed be included in this list? The English version at commit d9cfe515d36e lists it in the stats directory. > +統計數據。這些文件默認不是實時更新的。你應該要求DAMON sysfs接口通過 ``refresh_ms`` 週期性地 > +更新這些文件,或者通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 > +``update_schemes_stats`` 來執行一次性更新。 > -- Sashiko AI review · https://sashiko.dev/#/patchset/20260608060302.1564003-1-doehyunbaek@gmail.com?part=2 ^ permalink raw reply [flat|nested] 14+ messages in thread
[parent not found: <CAN-j9UrkjjrO-1fs9Q4_HQMTM5Gj1qjyNLF5F1JG+Wzimd5naw@mail.gmail.com>]
* Re: [PATCH v2 0/2] docs/zh: update DAMON usage sysfs documentation [not found] ` <CAN-j9UrkjjrO-1fs9Q4_HQMTM5Gj1qjyNLF5F1JG+Wzimd5naw@mail.gmail.com> @ 2026-06-08 6:58 ` Dongliang Mu 0 siblings, 0 replies; 14+ messages in thread From: Dongliang Mu @ 2026-06-08 6:58 UTC (permalink / raw) To: Doehyun Baek Cc: Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Alex Shi, Yanteng Si, Hu Haowen On 6/8/26 2:05 PM, Doehyun Baek wrote: > Hi, thanks for your kind reply. > > Sorry for not following the how-to.rst. I should have taken more care. > > I updated the commit messages and sent v2 patches. Thanks for your quick feedback. But please keep a rule in mind - Do not top-posting in the LKML. I will review patch v2 ASAP. Dongliang Mu > > Best, > > On Mon, Jun 8, 2026 at 8:03 AM Doehyun Baek <doehyunbaek@gmail.com> wrote: > > Changes since v1: > - Revise both commit messages to follow the translation update format > documented in Documentation/translations/zh_CN/how-to.rst. > > Doehyun Baek (2): > docs/zh_CN: update DAMON usage Chinese translation > docs/zh_TW: update DAMON usage Traditional Chinese translation > > .../zh_CN/admin-guide/mm/damon/usage.rst | 56 > +++++++++++++------ > .../zh_TW/admin-guide/mm/damon/usage.rst | 56 > +++++++++++++------ > 2 files changed, 80 insertions(+), 32 deletions(-) > > > base-commit: 4549871118cf616eecdd2d939f78e3b9e1dddc48 > -- > 2.43.0 > > > > -- > Doehyun Baek ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 0/2] docs/zh: update DAMON usage sysfs documentation 2026-05-23 9:44 [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation Doehyun Baek ` (3 preceding siblings ...) 2026-06-08 6:03 ` [PATCH v2 " Doehyun Baek @ 2026-06-08 6:57 ` Doehyun Baek 2026-06-08 6:57 ` [PATCH v3 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek 2026-06-08 6:57 ` [PATCH v3 2/2] docs/zh_TW: update DAMON usage Traditional " Doehyun Baek 4 siblings, 2 replies; 14+ messages in thread From: Doehyun Baek @ 2026-06-08 6:57 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek Changes since v2: - Fix missing DAMON sysfs hierarchy entries and related file lists/counts. Changes since v1: - Revise both commit messages to follow the translation update format documented in Documentation/translations/zh_CN/how-to.rst. Doehyun Baek (2): docs/zh_CN: update DAMON usage Chinese translation docs/zh_TW: update DAMON usage Traditional Chinese translation .../zh_CN/admin-guide/mm/damon/usage.rst | 92 +++++++++++++------ .../zh_TW/admin-guide/mm/damon/usage.rst | 92 +++++++++++++------ 2 files changed, 130 insertions(+), 54 deletions(-) base-commit: 4549871118cf616eecdd2d939f78e3b9e1dddc48 -- 2.43.0 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 1/2] docs/zh_CN: update DAMON usage Chinese translation 2026-06-08 6:57 ` [PATCH v3 " Doehyun Baek @ 2026-06-08 6:57 ` Doehyun Baek 2026-06-08 12:29 ` Dongliang Mu 2026-06-08 6:57 ` [PATCH v3 2/2] docs/zh_TW: update DAMON usage Traditional " Doehyun Baek 1 sibling, 1 reply; 14+ messages in thread From: Doehyun Baek @ 2026-06-08 6:57 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek Update the translation of .../admin-guide/mm/damon/usage.rst into Chinese. Update the translation through commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> --- .../zh_CN/admin-guide/mm/damon/usage.rst | 92 +++++++++++++------ 1 file changed, 65 insertions(+), 27 deletions(-) diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst index 9d7cb51be493..4a31210b948e 100644 --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst @@ -15,6 +15,10 @@ DAMON 为不同的用户提供了下面这些接口。 +- *专用DAMON模块。* + :ref:`这 <damon_modules_special_purpose>` 是为构建、发布或管理带有专用DAMON用法的内 + 核的用户准备的。使用它,用户可以在构建、启动或运行时以简单的方式为给定目的使用DAMON的主要 + 功能。 - *DAMON用户空间工具。* `这 <https://github.com/damonitor/damo>`_ 为有这特权的人, 如系统管理员,希望有一个刚好 可以工作的人性化界面。 @@ -55,30 +59,37 @@ DAMON sysfs接口的文件层次结构如下图所示。在下图中,父子关 /sys/kernel/mm/damon/admin │ kdamonds/nr_kdamonds - │ │ 0/state,pid + │ │ 0/state,pid,refresh_ms │ │ │ contexts/nr_contexts - │ │ │ │ 0/operations + │ │ │ │ 0/avail_operations,operations,addr_unit │ │ │ │ │ monitoring_attrs/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us + │ │ │ │ │ │ │ intervals_goal/access_bp,aggrs,min_sample_us,max_sample_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ targets/nr_targets - │ │ │ │ │ │ 0/pid_target + │ │ │ │ │ │ 0/pid_target,obsolete_target │ │ │ │ │ │ │ regions/nr_regions │ │ │ │ │ │ │ │ 0/start,end │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ │ schemes/nr_schemes - │ │ │ │ │ │ 0/action + │ │ │ │ │ │ 0/action,target_nid,apply_interval_us │ │ │ │ │ │ │ access_pattern/ │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,effective_bytes,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil + │ │ │ │ │ │ │ │ goals/nr_goals + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid,path │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds - │ │ │ │ │ │ │ tried_regions/ - │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age + │ │ │ │ │ │ │ {core_,ops_,}filters/nr_filters + │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max + │ │ │ │ │ │ │ dests/nr_dests + │ │ │ │ │ │ │ │ 0/id,weight + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds,nr_snapshots,max_nr_snapshots + │ │ │ │ │ │ │ tried_regions/total_bytes + │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ ... @@ -104,7 +115,8 @@ kdamonds/ kdamonds/<N>/ ------------- -在每个kdamond目录中,存在两个文件(``state`` 和 ``pid`` )和一个目录( ``contexts`` )。 +在每个kdamond目录中,存在三个文件(``state``、``pid`` 和 ``refresh_ms``)和一个目录 +(``contexts``)。 读取 ``state`` 时,如果kdamond当前正在运行,则返回 ``on`` ,如果没有运行则返回 ``off`` 。 写入 ``on`` 或 ``off`` 使kdamond处于状态。向 ``state`` 文件写 ``update_schemes_stats`` , @@ -117,6 +129,10 @@ kdamonds/<N>/ 如果状态为 ``on``,读取 ``pid`` 显示kdamond线程的pid。 +用户可以要求内核通过 ``refresh_ms`` 文件周期性地更新显示自动调优参数和DAMOS统计信息的文件。 +向该文件写入希望的更新时间间隔(毫秒)。如果间隔为零,则禁用周期性更新。读取该文件会显示当前 +设置的时间间隔。 + ``contexts`` 目录包含控制这个kdamond要执行的监测上下文的文件。 kdamonds/<N>/contexts/ @@ -129,15 +145,19 @@ kdamonds/<N>/contexts/ contexts/<N>/ ------------- -在每个上下文目录中,存在一个文件(``operations``)和三个目录(``monitoring_attrs``, -``targets``, 和 ``schemes``)。 +在每个上下文目录中,存在三个文件(``avail_operations``、``operations`` 和 +``addr_unit``)和三个目录(``monitoring_attrs``、``targets`` 和 ``schemes``)。 -DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地址空间的监测。你可以通过向文件 -中写入以下关键词之一,并从文件中读取,来设置和获取DAMON将为上下文使用何种类型的监测操作。 +DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地址空间的监测。你可以通过读取 +``avail_operations`` 文件获取可用的监测操作集列表。你可以通过向 ``operations`` 文件中写入 +``avail_operations`` 文件列出的关键词之一,并从文件中读取,来设置和获取DAMON将为上下文使用 +何种类型的监测操作。 - vaddr: 监测特定进程的虚拟地址空间 - paddr: 监视系统的物理地址空间 +``addr_unit`` 文件用于设置和获取操作集的 :ref:`地址单位 <damon_design_addr_unit>` 参数。 + contexts/<N>/monitoring_attrs/ ------------------------------ @@ -161,11 +181,15 @@ contexts/<N>/targets/ targets/<N>/ ------------ -在每个目标目录中,存在一个文件(``pid_target``)和一个目录(``regions``)。 +在每个目标目录中,存在两个文件(``pid_target`` 和 ``obsolete_target``)和一个目录 +(``regions``)。 如果你把 ``vaddr`` 写到 ``contexts/<N>/operations`` 中,每个目标应该是一个进程。你 可以通过将进程的pid写到 ``pid_target`` 文件中来指定DAMON的进程。 +用户可以向 ``obsolete_target`` 文件写入非零值并提交它(向 ``state`` 文件写入 ``commit``), +从目标数组中间选择性地删除目标。 + targets/<N>/regions ------------------- @@ -203,8 +227,9 @@ contexts/<N>/schemes/ schemes/<N>/ ------------ -在每个方案目录中,存在五个目录(``access_pattern``、``quotas``、``watermarks``、 -``stats`` 和 ``tried_regions``)和一个文件(``action``)。 +在每个方案目录中,存在九个目录(``access_pattern``、``quotas``、``watermarks``、 +``core_filters``、``ops_filters``、``filters``、``dests``、``stats`` 和 +``tried_regions``)和三个文件(``action``、``target_nid`` 和 ``apply_interval_us``)。 ``action`` 文件用于设置和获取你想应用于具有特定访问模式的内存区域的动作。可以写入文件 和从文件中读取的关键词及其含义如下。 @@ -218,6 +243,9 @@ schemes/<N>/ - ``lru_deprio``: 对区域的LRU列表进行降低优先处理。 - ``stat``: 什么都不做,只计算统计数据 +``target_nid`` 文件用于设置迁移目标节点,仅当 ``action`` 为 ``migrate_hot`` 或 +``migrate_cold`` 时有意义。``apply_interval_us`` 文件用于以微秒为单位设置和获取方案的应用间隔。 + schemes/<N>/access_pattern/ --------------------------- @@ -239,14 +267,20 @@ schemes/<N>/quotas/ 当预计超过配额限制时,DAMON会根据 ``目标访问模式`` 的大小、访问频率和年龄,对找到的内存区域 进行优先排序。为了进行个性化的优先排序,用户可以为这三个属性设置权重。 -在 ``quotas`` 目录下,存在三个文件(``ms``, ``bytes``, ``reset_interval_ms``)和一个 -目录(``weights``),其中有三个文件(``sz_permil``, ``nr_accesses_permil``, 和 -``age_permil``)。 +在 ``quotas`` 目录下,存在五个文件(``ms``、``bytes``、``reset_interval_ms``、 +``effective_bytes`` 和 ``goal_tuner``)和两个目录(``weights`` 和 ``goals``)。 你可以设置以毫秒为单位的 ``时间配额`` ,以字节为单位的 ``大小配额`` ,以及以毫秒为单位的 ``重 置间隔`` ,分别向这三个文件写入数值。你还可以通过向 ``weights`` 目录下的三个文件写入数值来设 置大小、访问频率和年龄的优先权,单位为千分之一。 +你可以通过向 ``goal_tuner`` 文件写入算法名称,设置要使用的基于目标的有效配额自动调优算法。 +读取该文件会返回当前选定的调优器算法。读取 ``effective_bytes`` 会返回当前有效大小配额。 + +``goals`` 目录用于设置自动配额调优目标。每个目标目录包含 ``target_metric``、 +``target_value``、``current_value``、``nid`` 和 ``path`` 文件。用户可以读写这些文件来设置 +和获取配额自动调优目标的参数。 + schemes/<N>/watermarks/ ----------------------- @@ -271,16 +305,21 @@ schemes/<N>/stats/ DAMON统计每个方案被尝试应用的区域的总数量和字节数,每个方案被成功应用的区域的两个数字,以及 超过配额限制的总数量。这些统计数据可用于在线分析或调整方案。 -可以通过读取 ``stats`` 目录下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分别检索这些统计数据。这些文件不是实时更新的,所以 -你应该要求DAMON sysfs接口通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 -``update_schemes_stats`` 来更新统计信息的文件内容。 +可以通过读取 ``stats`` 目录下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 +``sz_applied``、``sz_ops_filter_passed``、``qt_exceeds``、``nr_snapshots`` 和 +``max_nr_snapshots``)分别检索这些 +统计数据。这些文件默认不是实时更新的。你应该要求DAMON sysfs接口通过 ``refresh_ms`` 周期性地 +更新这些文件,或者通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 +``update_schemes_stats`` 来执行一次性更新。 schemes/<N>/tried_regions/ -------------------------- +该目录开始时有一个文件 ``total_bytes``。 + 当一个特殊的关键字 ``update_schemes_tried_regions`` 被写入相关的 ``kdamonds/<N>/state`` -文件时,DAMON会在这个目录下创建从 ``0`` 开始命名的整数目录。每个目录包含的文件暴露了关于每个 +文件时,DAMON会更新 ``total_bytes`` 文件,使读取该文件返回方案尝试区域的总大小,并在这个目录下 +创建从 ``0`` 开始命名的整数目录。每个目录包含的文件暴露了关于每个 内存区域的详细信息,在下一个 :ref:`聚集区间 <sysfs_monitoring_attrs>`,相应的方案的 ``动作`` 已经尝试在这个目录下应用。这些信息包括地址范围、``nr_accesses`` 以及区域的 ``年龄`` 。 @@ -290,9 +329,8 @@ schemes/<N>/tried_regions/ tried_regions/<N>/ ------------------ -在每个区域目录中,你会发现四个文件(``start``, ``end``, ``nr_accesses``, and ``age``)。 -读取这些文件将显示相应的基于DAMON的操作方案 ``动作`` 试图应用的区域的开始和结束地址、``nr_accesses`` -和 ``年龄`` 。 +在每个区域目录中,你会发现五个文件(``start``、``end``、``nr_accesses``、``age`` 和 +``sz_filter_passed``)。读取这些文件将显示相应的基于DAMON的操作方案 ``动作`` 试图应用的区域属性。 用例 ~~~~ -- 2.43.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/2] docs/zh_CN: update DAMON usage Chinese translation 2026-06-08 6:57 ` [PATCH v3 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek @ 2026-06-08 12:29 ` Dongliang Mu 0 siblings, 0 replies; 14+ messages in thread From: Dongliang Mu @ 2026-06-08 12:29 UTC (permalink / raw) To: Doehyun Baek, Alex Shi, Yanteng Si, Hu Haowen Cc: Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon On 6/8/26 2:57 PM, Doehyun Baek wrote: > Update the translation of .../admin-guide/mm/damon/usage.rst into Chinese. > > Update the translation through commit d9cfe515d36e > ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") > > Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> From my experience, you need to double check your patched translation with the original English documentation. This will make sure your translation matches the latest documenation. Dongliang Mu > --- > .../zh_CN/admin-guide/mm/damon/usage.rst | 92 +++++++++++++------ > 1 file changed, 65 insertions(+), 27 deletions(-) > > diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst > index 9d7cb51be493..4a31210b948e 100644 > --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst > +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst > @@ -15,6 +15,10 @@ > > DAMON 为不同的用户提供了下面这些接口。 > > +- *专用DAMON模块。* > + :ref:`这 <damon_modules_special_purpose>` 是为构建、发布或管理带有专用DAMON用法的内 Please change to the reference in the Chinese translation. And double check all the references. > + 核的用户准备的。使用它,用户可以在构建、启动或运行时以简单的方式为给定目的使用DAMON的主要 > + 功能。 > - *DAMON用户空间工具。* > `这 <https://github.com/damonitor/damo>`_ 为有这特权的人, 如系统管理员,希望有一个刚好 > 可以工作的人性化界面。 > @@ -55,30 +59,37 @@ DAMON sysfs接口的文件层次结构如下图所示。在下图中,父子关 > |.. parsed-literal:: :ref:`/sys/kernel/mm/damon <sysfs_root>`/admin │ :ref:`kdamonds <sysfs_kdamonds>`/nr_kdamonds │ │ :ref:`0 <sysfs_kdamond>`/state,pid,refresh_ms │ │ │ :ref:`contexts <sysfs_contexts>`/nr_contexts │ │ │ │ :ref:`0 <sysfs_context>`/avail_operations,operations,addr_unit │ │ │ │ │ :ref:`monitoring_attrs <sysfs_monitoring_attrs>`/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ │ intervals_goal/access_bp,aggrs,min_sample_us,max_sample_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ :ref:`targets <sysfs_targets>`/nr_targets │ │ │ │ │ │ :ref:`0 <sysfs_target>`/pid_target,obsolete_target │ │ │ │ │ │ │ :ref:`regions <sysfs_regions>`/nr_regions │ │ │ │ │ │ │ │ :ref:`0 <sysfs_region>`/start,end │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ │ :ref:`schemes <sysfs_schemes>`/nr_schemes │ │ │ │ │ │ :ref:`0 <sysfs_scheme>`/action,target_nid,apply_interval_us │ │ │ │ │ │ │ :ref:`access_pattern <sysfs_access_pattern>`/ │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max │ │ │ │ │ │ │ :ref:`quotas <sysfs_quotas>`/ms,bytes,reset_interval_ms,effective_bytes,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil │ │ │ │ │ │ │ │ :ref:`goals <sysfs_schemes_quota_goals>`/nr_goals │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid,path │ │ │ │ │ │ │ :ref:`watermarks <sysfs_watermarks>`/metric,interval_us,high,mid,low │ │ │ │ │ │ │ :ref:`{core_,ops_,}filters <sysfs_filters>`/nr_filters │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max │ │ │ │ │ │ │ :ref:`dests <damon_sysfs_dests>`/nr_dests │ │ │ │ │ │ │ │ 0/id,weight │ │ │ │ │ │ │ :ref:`stats <sysfs_schemes_stats>`/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds,nr_snapshots,max_nr_snapshots │ │ │ │ │ │ │ :ref:`tried_regions <sysfs_schemes_tried_regions>`/total_bytes │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ ... │ │ ... | This part changes a lot. Please take a look the original English documentation. > /sys/kernel/mm/damon/admin > │ kdamonds/nr_kdamonds > - │ │ 0/state,pid > + │ │ 0/state,pid,refresh_ms > │ │ │ contexts/nr_contexts > - │ │ │ │ 0/operations > + │ │ │ │ 0/avail_operations,operations,addr_unit > │ │ │ │ │ monitoring_attrs/ > │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us > + │ │ │ │ │ │ │ intervals_goal/access_bp,aggrs,min_sample_us,max_sample_us > │ │ │ │ │ │ nr_regions/min,max > │ │ │ │ │ targets/nr_targets > - │ │ │ │ │ │ 0/pid_target > + │ │ │ │ │ │ 0/pid_target,obsolete_target > │ │ │ │ │ │ │ regions/nr_regions > │ │ │ │ │ │ │ │ 0/start,end > │ │ │ │ │ │ │ │ ... > │ │ │ │ │ │ ... > │ │ │ │ │ schemes/nr_schemes > - │ │ │ │ │ │ 0/action > + │ │ │ │ │ │ 0/action,target_nid,apply_interval_us > │ │ │ │ │ │ │ access_pattern/ > │ │ │ │ │ │ │ │ sz/min,max > │ │ │ │ │ │ │ │ nr_accesses/min,max > │ │ │ │ │ │ │ │ age/min,max > - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms > + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,effective_bytes,goal_tuner > │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil > + │ │ │ │ │ │ │ │ goals/nr_goals > + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid,path > │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low > - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds > - │ │ │ │ │ │ │ tried_regions/ > - │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age > + │ │ │ │ │ │ │ {core_,ops_,}filters/nr_filters > + │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max > + │ │ │ │ │ │ │ dests/nr_dests > + │ │ │ │ │ │ │ │ 0/id,weight > + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds,nr_snapshots,max_nr_snapshots > + │ │ │ │ │ │ │ tried_regions/total_bytes > + │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed > │ │ │ │ │ │ │ │ ... > │ │ │ │ │ │ ... > │ │ │ │ ... > @@ -104,7 +115,8 @@ kdamonds/ > kdamonds/<N>/ > ------------- > > -在每个kdamond目录中,存在两个文件(``state`` 和 ``pid`` )和一个目录( ``contexts`` )。 > +在每个kdamond目录中,存在三个文件(``state``、``pid`` 和 ``refresh_ms``)和一个目录 > +(``contexts``)。 > > 读取 ``state`` 时,如果kdamond当前正在运行,则返回 ``on`` ,如果没有运行则返回 ``off`` 。 > 写入 ``on`` 或 ``off`` 使kdamond处于状态。向 ``state`` 文件写 ``update_schemes_stats`` , > @@ -117,6 +129,10 @@ kdamonds/<N>/ > > 如果状态为 ``on``,读取 ``pid`` 显示kdamond线程的pid。 > > +用户可以要求内核通过 ``refresh_ms`` 文件周期性地更新显示自动调优参数和DAMOS统计信息的文件。 > +向该文件写入希望的更新时间间隔(毫秒)。如果间隔为零,则禁用周期性更新。读取该文件会显示当前 > +设置的时间间隔。 > + > ``contexts`` 目录包含控制这个kdamond要执行的监测上下文的文件。 > > kdamonds/<N>/contexts/ > @@ -129,15 +145,19 @@ kdamonds/<N>/contexts/ > contexts/<N>/ > ------------- > > -在每个上下文目录中,存在一个文件(``operations``)和三个目录(``monitoring_attrs``, > -``targets``, 和 ``schemes``)。 > +在每个上下文目录中,存在三个文件(``avail_operations``、``operations`` 和 > +``addr_unit``)和三个目录(``monitoring_attrs``、``targets`` 和 ``schemes``)。 > > -DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地址空间的监测。你可以通过向文件 > -中写入以下关键词之一,并从文件中读取,来设置和获取DAMON将为上下文使用何种类型的监测操作。 > +DAMON支持多种类型的监测操作,包括对虚拟地址空间和物理地址空间的监测。你可以通过读取 > +``avail_operations`` 文件获取可用的监测操作集列表。你可以通过向 ``operations`` 文件中写入 > +``avail_operations`` 文件列出的关键词之一,并从文件中读取,来设置和获取DAMON将为上下文使用 > +何种类型的监测操作。 > > - vaddr: 监测特定进程的虚拟地址空间 > - paddr: 监视系统的物理地址空间 > > +``addr_unit`` 文件用于设置和获取操作集的 :ref:`地址单位 <damon_design_addr_unit>` 参数。 > + > contexts/<N>/monitoring_attrs/ > ------------------------------ > > @@ -161,11 +181,15 @@ contexts/<N>/targets/ > targets/<N>/ > ------------ > > -在每个目标目录中,存在一个文件(``pid_target``)和一个目录(``regions``)。 > +在每个目标目录中,存在两个文件(``pid_target`` 和 ``obsolete_target``)和一个目录 > +(``regions``)。 > > 如果你把 ``vaddr`` 写到 ``contexts/<N>/operations`` 中,每个目标应该是一个进程。你 > 可以通过将进程的pid写到 ``pid_target`` 文件中来指定DAMON的进程。 > > +用户可以向 ``obsolete_target`` 文件写入非零值并提交它(向 ``state`` 文件写入 ``commit``), > +从目标数组中间选择性地删除目标。 This is the original English text. Users can selectively remove targets in the middle of the targets array by writing non-zero value to ``obsolete_target``file and committing it (writing ``commit``to ``state``file). DAMON will remove the matching targets from its internal targets array. Users are responsible to construct target directories again, so that those correctly represent the changed internal targets array. You missed many translations. > + > targets/<N>/regions > ------------------- > > @@ -203,8 +227,9 @@ contexts/<N>/schemes/ > schemes/<N>/ > ------------ > > -在每个方案目录中,存在五个目录(``access_pattern``、``quotas``、``watermarks``、 > -``stats`` 和 ``tried_regions``)和一个文件(``action``)。 > +在每个方案目录中,存在九个目录(``access_pattern``、``quotas``、``watermarks``、 > +``core_filters``、``ops_filters``、``filters``、``dests``、``stats`` 和 > +``tried_regions``)和三个文件(``action``、``target_nid`` 和 ``apply_interval_us``)。 Here I found a typo in the English documenation. The directory should be nine other than 8. The correct order is to first submit a patch to fix this typo. Then this translation is correct. And this patch should be merged after the typo fix. @Jon, am I right? > > ``action`` 文件用于设置和获取你想应用于具有特定访问模式的内存区域的动作。可以写入文件 > 和从文件中读取的关键词及其含义如下。 > @@ -218,6 +243,9 @@ schemes/<N>/ > - ``lru_deprio``: 对区域的LRU列表进行降低优先处理。 > - ``stat``: 什么都不做,只计算统计数据 > > +``target_nid`` 文件用于设置迁移目标节点,仅当 ``action`` 为 ``migrate_hot`` 或 > +``migrate_cold`` 时有意义。``apply_interval_us`` 文件用于以微秒为单位设置和获取方案的应用间隔。 > + "``apply_interval_us`` 文件用于以微秒为单位设置和获取方案的应用间隔。" is in a separate paragraph. > schemes/<N>/access_pattern/ > --------------------------- > > @@ -239,14 +267,20 @@ schemes/<N>/quotas/ > 当预计超过配额限制时,DAMON会根据 ``目标访问模式`` 的大小、访问频率和年龄,对找到的内存区域 > 进行优先排序。为了进行个性化的优先排序,用户可以为这三个属性设置权重。 > > -在 ``quotas`` 目录下,存在三个文件(``ms``, ``bytes``, ``reset_interval_ms``)和一个 > -目录(``weights``),其中有三个文件(``sz_permil``, ``nr_accesses_permil``, 和 > -``age_permil``)。 > +在 ``quotas`` 目录下,存在五个文件(``ms``、``bytes``、``reset_interval_ms``、 > +``effective_bytes`` 和 ``goal_tuner``)和两个目录(``weights`` 和 ``goals``)。 > > 你可以设置以毫秒为单位的 ``时间配额`` ,以字节为单位的 ``大小配额`` ,以及以毫秒为单位的 ``重 > 置间隔`` ,分别向这三个文件写入数值。你还可以通过向 ``weights`` 目录下的三个文件写入数值来设 > 置大小、访问频率和年龄的优先权,单位为千分之一。 > > +你可以通过向 ``goal_tuner`` 文件写入算法名称,设置要使用的基于目标的有效配额自动调优算法。 > +读取该文件会返回当前选定的调优器算法。读取 ``effective_bytes`` 会返回当前有效大小配额。 > + > +``goals`` 目录用于设置自动配额调优目标。每个目标目录包含 ``target_metric``、 > +``target_value``、``current_value``、``nid`` 和 ``path`` 文件。用户可以读写这些文件来设置 > +和获取配额自动调优目标的参数。 You can set the goal-based effective quota auto-tuning algorithm to use, by writing the algorithm name to ``goal_tuner`` file. Reading the file returns the currently selected tuner algorithm. Refer to the design documentation of :ref:`automatic quota tuning goals <damon_design_damos_quotas_auto_tuning>` for the background design of the feature and the name of the selectable algorithms. Refer to :ref:`goals directory <sysfs_schemes_quota_goals>` for the goals setup. The above is the original English text. It seems your translation does not match it. > + > schemes/<N>/watermarks/ > ----------------------- > > @@ -271,16 +305,21 @@ schemes/<N>/stats/ > DAMON统计每个方案被尝试应用的区域的总数量和字节数,每个方案被成功应用的区域的两个数字,以及 > 超过配额限制的总数量。这些统计数据可用于在线分析或调整方案。 > > -可以通过读取 ``stats`` 目录下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, > -``sz_applied``, 和 ``qt_exceeds``))分别检索这些统计数据。这些文件不是实时更新的,所以 > -你应该要求DAMON sysfs接口通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 > -``update_schemes_stats`` 来更新统计信息的文件内容。 > +可以通过读取 ``stats`` 目录下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 > +``sz_applied``、``sz_ops_filter_passed``、``qt_exceeds``、``nr_snapshots`` 和 > +``max_nr_snapshots``)分别检索这些 > +统计数据。这些文件默认不是实时更新的。你应该要求DAMON sysfs接口通过 ``refresh_ms`` 周期性地 > +更新这些文件,或者通过在相关的 ``kdamonds/<N>/state`` 文件中写入一个特殊的关键字 > +``update_schemes_stats`` 来执行一次性更新。 > > schemes/<N>/tried_regions/ > -------------------------- > > +该目录开始时有一个文件 ``total_bytes``。 > + > 当一个特殊的关键字 ``update_schemes_tried_regions`` 被写入相关的 ``kdamonds/<N>/state`` > -文件时,DAMON会在这个目录下创建从 ``0`` 开始命名的整数目录。每个目录包含的文件暴露了关于每个 > +文件时,DAMON会更新 ``total_bytes`` 文件,使读取该文件返回方案尝试区域的总大小,并在这个目录下 > +创建从 ``0`` 开始命名的整数目录。每个目录包含的文件暴露了关于每个 > 内存区域的详细信息,在下一个 :ref:`聚集区间 <sysfs_monitoring_attrs>`,相应的方案的 ``动作`` > 已经尝试在这个目录下应用。这些信息包括地址范围、``nr_accesses`` 以及区域的 ``年龄`` 。 > > @@ -290,9 +329,8 @@ schemes/<N>/tried_regions/ > tried_regions/<N>/ > ------------------ > > -在每个区域目录中,你会发现四个文件(``start``, ``end``, ``nr_accesses``, and ``age``)。 > -读取这些文件将显示相应的基于DAMON的操作方案 ``动作`` 试图应用的区域的开始和结束地址、``nr_accesses`` > -和 ``年龄`` 。 > +在每个区域目录中,你会发现五个文件(``start``、``end``、``nr_accesses``、``age`` 和 > +``sz_filter_passed``)。读取这些文件将显示相应的基于DAMON的操作方案 ``动作`` 试图应用的区域属性。 > > 用例 > ~~~~ ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 2/2] docs/zh_TW: update DAMON usage Traditional Chinese translation 2026-06-08 6:57 ` [PATCH v3 " Doehyun Baek 2026-06-08 6:57 ` [PATCH v3 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek @ 2026-06-08 6:57 ` Doehyun Baek 1 sibling, 0 replies; 14+ messages in thread From: Doehyun Baek @ 2026-06-08 6:57 UTC (permalink / raw) To: Alex Shi, Yanteng Si, Hu Haowen Cc: Dongliang Mu, Jonathan Corbet, Shuah Khan, SeongJae Park, linux-doc, linux-kernel, damon, Doehyun Baek Update the translation of .../admin-guide/mm/damon/usage.rst into Traditional Chinese. Update the translation through commit d9cfe515d36e ("Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file") Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com> --- .../zh_TW/admin-guide/mm/damon/usage.rst | 92 +++++++++++++------ 1 file changed, 65 insertions(+), 27 deletions(-) diff --git a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst index d3fd4f850793..636ac997767b 100644 --- a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst +++ b/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst @@ -15,6 +15,10 @@ DAMON 爲不同的用戶提供了下面這些接口。 +- *專用DAMON模塊。* + :ref:`這 <damon_modules_special_purpose>` 是爲構建、發佈或管理帶有專用DAMON用法的內 + 核的用戶準備的。使用它,用戶可以在構建、啓動或運行時以簡單的方式爲給定目的使用DAMON的主要 + 功能。 - *DAMON用戶空間工具。* `這 <https://github.com/damonitor/damo>`_ 爲有這特權的人, 如系統管理員,希望有一個剛好 可以工作的人性化界面。 @@ -55,30 +59,37 @@ DAMON sysfs接口的文件層次結構如下圖所示。在下圖中,父子關 /sys/kernel/mm/damon/admin │ kdamonds/nr_kdamonds - │ │ 0/state,pid + │ │ 0/state,pid,refresh_ms │ │ │ contexts/nr_contexts - │ │ │ │ 0/operations + │ │ │ │ 0/avail_operations,operations,addr_unit │ │ │ │ │ monitoring_attrs/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us + │ │ │ │ │ │ │ intervals_goal/access_bp,aggrs,min_sample_us,max_sample_us │ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ targets/nr_targets - │ │ │ │ │ │ 0/pid_target + │ │ │ │ │ │ 0/pid_target,obsolete_target │ │ │ │ │ │ │ regions/nr_regions │ │ │ │ │ │ │ │ 0/start,end │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ │ schemes/nr_schemes - │ │ │ │ │ │ 0/action + │ │ │ │ │ │ 0/action,target_nid,apply_interval_us │ │ │ │ │ │ │ access_pattern/ │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max │ │ │ │ │ │ │ │ age/min,max - │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms + │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms,effective_bytes,goal_tuner │ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil + │ │ │ │ │ │ │ │ goals/nr_goals + │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid,path │ │ │ │ │ │ │ watermarks/metric,interval_us,high,mid,low - │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,qt_exceeds - │ │ │ │ │ │ │ tried_regions/ - │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age + │ │ │ │ │ │ │ {core_,ops_,}filters/nr_filters + │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max + │ │ │ │ │ │ │ dests/nr_dests + │ │ │ │ │ │ │ │ 0/id,weight + │ │ │ │ │ │ │ stats/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds,nr_snapshots,max_nr_snapshots + │ │ │ │ │ │ │ tried_regions/total_bytes + │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ ... @@ -104,7 +115,8 @@ kdamonds/ kdamonds/<N>/ ------------- -在每個kdamond目錄中,存在兩個文件(``state`` 和 ``pid`` )和一個目錄( ``contexts`` )。 +在每個kdamond目錄中,存在三個文件(``state``、``pid`` 和 ``refresh_ms``)和一個目錄 +(``contexts``)。 讀取 ``state`` 時,如果kdamond當前正在運行,則返回 ``on`` ,如果沒有運行則返回 ``off`` 。 寫入 ``on`` 或 ``off`` 使kdamond處於狀態。向 ``state`` 文件寫 ``update_schemes_stats`` , @@ -117,6 +129,10 @@ kdamonds/<N>/ 如果狀態爲 ``on``,讀取 ``pid`` 顯示kdamond線程的pid。 +用戶可以要求內核通過 ``refresh_ms`` 文件週期性地更新顯示自動調優參數和DAMOS統計信息的文件。 +向該文件寫入希望的更新時間間隔(毫秒)。如果間隔爲零,則禁用週期性更新。讀取該文件會顯示當前 +設置的時間間隔。 + ``contexts`` 目錄包含控制這個kdamond要執行的監測上下文的文件。 kdamonds/<N>/contexts/ @@ -129,15 +145,19 @@ kdamonds/<N>/contexts/ contexts/<N>/ ------------- -在每個上下文目錄中,存在一個文件(``operations``)和三個目錄(``monitoring_attrs``, -``targets``, 和 ``schemes``)。 +在每個上下文目錄中,存在三個文件(``avail_operations``、``operations`` 和 +``addr_unit``)和三個目錄(``monitoring_attrs``、``targets`` 和 ``schemes``)。 -DAMON支持多種類型的監測操作,包括對虛擬地址空間和物理地址空間的監測。你可以通過向文件 -中寫入以下關鍵詞之一,並從文件中讀取,來設置和獲取DAMON將爲上下文使用何種類型的監測操作。 +DAMON支持多種類型的監測操作,包括對虛擬地址空間和物理地址空間的監測。你可以通過讀取 +``avail_operations`` 文件獲取可用的監測操作集列表。你可以通過向 ``operations`` 文件中寫入 +``avail_operations`` 文件列出的關鍵詞之一,並從文件中讀取,來設置和獲取DAMON將爲上下文使用 +何種類型的監測操作。 - vaddr: 監測特定進程的虛擬地址空間 - paddr: 監視系統的物理地址空間 +``addr_unit`` 文件用於設置和獲取操作集的 :ref:`地址單位 <damon_design_addr_unit>` 參數。 + contexts/<N>/monitoring_attrs/ ------------------------------ @@ -161,11 +181,15 @@ contexts/<N>/targets/ targets/<N>/ ------------ -在每個目標目錄中,存在一個文件(``pid_target``)和一個目錄(``regions``)。 +在每個目標目錄中,存在兩個文件(``pid_target`` 和 ``obsolete_target``)和一個目錄 +(``regions``)。 如果你把 ``vaddr`` 寫到 ``contexts/<N>/operations`` 中,每個目標應該是一個進程。你 可以通過將進程的pid寫到 ``pid_target`` 文件中來指定DAMON的進程。 +用戶可以向 ``obsolete_target`` 文件寫入非零值並提交它(向 ``state`` 文件寫入 ``commit``), +從目標數組中間選擇性地刪除目標。 + targets/<N>/regions ------------------- @@ -203,8 +227,9 @@ contexts/<N>/schemes/ schemes/<N>/ ------------ -在每個方案目錄中,存在五個目錄(``access_pattern``、``quotas``、``watermarks``、 -``stats`` 和 ``tried_regions``)和一個文件(``action``)。 +在每個方案目錄中,存在九個目錄(``access_pattern``、``quotas``、``watermarks``、 +``core_filters``、``ops_filters``、``filters``、``dests``、``stats`` 和 +``tried_regions``)和三個文件(``action``、``target_nid`` 和 ``apply_interval_us``)。 ``action`` 文件用於設置和獲取你想應用於具有特定訪問模式的內存區域的動作。可以寫入文件 和從文件中讀取的關鍵詞及其含義如下。 @@ -218,6 +243,9 @@ schemes/<N>/ - ``lru_deprio``: 對區域的LRU列表進行降低優先處理。 - ``stat``: 什麼都不做,只計算統計數據 +``target_nid`` 文件用於設置遷移目標節點,僅當 ``action`` 爲 ``migrate_hot`` 或 +``migrate_cold`` 時有意義。``apply_interval_us`` 文件用於以微秒爲單位設置和獲取方案的應用間隔。 + schemes/<N>/access_pattern/ --------------------------- @@ -239,14 +267,20 @@ schemes/<N>/quotas/ 當預計超過配額限制時,DAMON會根據 ``目標訪問模式`` 的大小、訪問頻率和年齡,對找到的內存區域 進行優先排序。爲了進行個性化的優先排序,用戶可以爲這三個屬性設置權重。 -在 ``quotas`` 目錄下,存在三個文件(``ms``, ``bytes``, ``reset_interval_ms``)和一個 -目錄(``weights``),其中有三個文件(``sz_permil``, ``nr_accesses_permil``, 和 -``age_permil``)。 +在 ``quotas`` 目錄下,存在五個文件(``ms``、``bytes``、``reset_interval_ms``、 +``effective_bytes`` 和 ``goal_tuner``)和兩個目錄(``weights`` 和 ``goals``)。 你可以設置以毫秒爲單位的 ``時間配額`` ,以字節爲單位的 ``大小配額`` ,以及以毫秒爲單位的 ``重 置間隔`` ,分別向這三個文件寫入數值。你還可以通過向 ``weights`` 目錄下的三個文件寫入數值來設 置大小、訪問頻率和年齡的優先權,單位爲千分之一。 +你可以通過向 ``goal_tuner`` 文件寫入算法名稱,設置要使用的基於目標的有效配額自動調優算法。 +讀取該文件會返回當前選定的調優器算法。讀取 ``effective_bytes`` 會返回當前有效大小配額。 + +``goals`` 目錄用於設置自動配額調優目標。每個目標目錄包含 ``target_metric``、 +``target_value``、``current_value``、``nid`` 和 ``path`` 文件。用戶可以讀寫這些文件來設置 +和獲取配額自動調優目標的參數。 + schemes/<N>/watermarks/ ----------------------- @@ -271,16 +305,21 @@ schemes/<N>/stats/ DAMON統計每個方案被嘗試應用的區域的總數量和字節數,每個方案被成功應用的區域的兩個數字,以及 超過配額限制的總數量。這些統計數據可用於在線分析或調整方案。 -可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分別檢索這些統計數據。這些文件不是實時更新的,所以 -你應該要求DAMON sysfs接口通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 -``update_schemes_stats`` 來更新統計信息的文件內容。 +可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``、``sz_tried``、``nr_applied``、 +``sz_applied``、``sz_ops_filter_passed``、``qt_exceeds``、``nr_snapshots`` 和 +``max_nr_snapshots``)分別檢索這些 +統計數據。這些文件默認不是實時更新的。你應該要求DAMON sysfs接口通過 ``refresh_ms`` 週期性地 +更新這些文件,或者通過在相關的 ``kdamonds/<N>/state`` 文件中寫入一個特殊的關鍵字 +``update_schemes_stats`` 來執行一次性更新。 schemes/<N>/tried_regions/ -------------------------- +該目錄開始時有一個文件 ``total_bytes``。 + 當一個特殊的關鍵字 ``update_schemes_tried_regions`` 被寫入相關的 ``kdamonds/<N>/state`` -文件時,DAMON會在這個目錄下創建從 ``0`` 開始命名的整數目錄。每個目錄包含的文件暴露了關於每個 +文件時,DAMON會更新 ``total_bytes`` 文件,使讀取該文件返回方案嘗試區域的總大小,並在這個目錄下 +創建從 ``0`` 開始命名的整數目錄。每個目錄包含的文件暴露了關於每個 內存區域的詳細信息,在下一個 :ref:`聚集區間 <sysfs_monitoring_attrs>`,相應的方案的 ``動作`` 已經嘗試在這個目錄下應用。這些信息包括地址範圍、``nr_accesses`` 以及區域的 ``年齡`` 。 @@ -290,9 +329,8 @@ schemes/<N>/tried_regions/ tried_regions/<N>/ ------------------ -在每個區域目錄中,你會發現四個文件(``start``, ``end``, ``nr_accesses``, and ``age``)。 -讀取這些文件將顯示相應的基於DAMON的操作方案 ``動作`` 試圖應用的區域的開始和結束地址、``nr_accesses`` -和 ``年齡`` 。 +在每個區域目錄中,你會發現五個文件(``start``、``end``、``nr_accesses``、``age`` 和 +``sz_filter_passed``)。讀取這些文件將顯示相應的基於DAMON的操作方案 ``動作`` 試圖應用的區域屬性。 用例 ~~~~ -- 2.43.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-06-08 12:29 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-23 9:44 [PATCH 0/2] docs/zh: update DAMON usage sysfs documentation Doehyun Baek
2026-05-23 9:44 ` [PATCH 1/2] docs/zh_CN: " Doehyun Baek
2026-05-23 9:50 ` sashiko-bot
2026-05-23 9:44 ` [PATCH 2/2] docs/zh_TW: " Doehyun Baek
2026-06-08 2:12 ` [PATCH 0/2] docs/zh: " Dongliang Mu
2026-06-08 6:03 ` [PATCH v2 " Doehyun Baek
2026-06-08 6:03 ` [PATCH v2 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek
2026-06-08 6:03 ` [PATCH v2 2/2] docs/zh_TW: update DAMON usage Traditional " Doehyun Baek
2026-06-08 6:10 ` sashiko-bot
[not found] ` <CAN-j9UrkjjrO-1fs9Q4_HQMTM5Gj1qjyNLF5F1JG+Wzimd5naw@mail.gmail.com>
2026-06-08 6:58 ` [PATCH v2 0/2] docs/zh: update DAMON usage sysfs documentation Dongliang Mu
2026-06-08 6:57 ` [PATCH v3 " Doehyun Baek
2026-06-08 6:57 ` [PATCH v3 1/2] docs/zh_CN: update DAMON usage Chinese translation Doehyun Baek
2026-06-08 12:29 ` Dongliang Mu
2026-06-08 6:57 ` [PATCH v3 2/2] docs/zh_TW: update DAMON usage Traditional " Doehyun Baek
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.