From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CC1833C18B for ; Mon, 8 Jun 2026 06:58:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780901899; cv=none; b=NxK2ncbKSejaAKmOQpntLX8/54rGZ4NIg55FBweQZ9t81kiVIzDgSjilKGDpRNQtn0WWzE+51g95JNJ8n8SCr76FxvTWXKQ0PEN2dY5eGv1LwgRB5Y0fTQFsz0aTw6HHLOeF9X/xt0eanHWjmihtyXRqEsfNPNEdISAdKXdrAR8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780901899; c=relaxed/simple; bh=wx7qMJ7Iamyzo0QtWV4RXU4ZcByaazKyPpJosGWvGu8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UGYhN4/t4ItQyJQOL7cs2xVQXeoL/xsFRmKb+vy5CmDybtssSQfxV3O19ft2NRBiZ8WMoSrJIc8xcbladpxfRz5mci8gx+Wur0lW4TFhHszdmbF57MVJwDa/XFxWHzTmAnpXBCxZUAHIX8Pw6cmgfzwjnCR10kbc47S+pyGarhs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PQ67YDex; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PQ67YDex" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-45ef14d4200so344994f8f.2 for ; Sun, 07 Jun 2026 23:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780901896; x=1781506696; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UbrGh+Fkk25cvqP+g9UEoqlL2MKbEwoKashdUTVmxgA=; b=PQ67YDexcuQP/kDH+UgSIuQkKjYh3NFzS6Y0IQ7gnJHASCgjwN7ASNBIR5MCDHDJqe CUXrqiMTzEfQQDHBxLC4XVgZRU8v2nxqyQGXTPLRgI/x0QyCqDSS/UmqEyakd4CGHB6T X04Ws4cLX6js8BK15MX5uf5k7FoRT6yIvI52VzJts7YeGw86mBUhDfKctAF/0F3EkdcA /Lwdg0BOpIF3Z2ClzhH6BRYT0gYKwk6HHlS+vSiI8Qtk39rwxRGTCUWE7PWneGO6OB5L 9Yk0eZMzA7+yp8iaIW8rUvvswiL0by3n17vp5TnsqE10z8YC/dNKp7Tx5M8ZL1yAkOw8 1grg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780901896; x=1781506696; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UbrGh+Fkk25cvqP+g9UEoqlL2MKbEwoKashdUTVmxgA=; b=VJTwHWL76MpDumBd27wNriYBgaJdV9cW4WZhJeFLWO1oGJw+mFRHwmxqrHUgv99bAX 4E1NoFPg1Cy8nwTe/g5jvU4kZfNxHJZQSAtN+M4T4h3PExhz3u4lKtagRKcJHhvIHzV3 QE17uEoIp9n30qvWeN1xyW6ZRJ/GcWXMdOPJd099Wqy9TaXE7nWv/IAsNrFENBcLwECQ 10SpuZUsmaw0dpOb363nm1qUtMxmFdhm1x6gV+DbsjGlgX2IT9RnFf2aRuysphWuZLBM XneB9tIIVBsiWTE7BGVpXE+OFSm9ZgKtYcrnI3Ojc6DIq6ZiSpl4gCZpaMJU+Kz7QGo8 zULg== X-Forwarded-Encrypted: i=1; AFNElJ9PFZof/eocv6cBtUDeG06nqwY1VSowWhAfjE5FHQwploJxIFviHUkoSSTjwHY0RyCbXVKBczfC+f656MI=@vger.kernel.org X-Gm-Message-State: AOJu0Yxoc7BlZjkqXEfE8seUEl9DWKuydTW4abW4YMdGx2VIoAVIP0uF mG2ak92hT0kVRMRg+vWXDxdb/XtyeCr9NzNFMNjMS7znK4FptDj93g1g X-Gm-Gg: Acq92OGjAQwo5eZuBb8CSXJVe3v9GSPODCo0rCAEjuQ3Zd8E0dj4u2U3xYd+04JROob TbqB6VrOMONU367gy0AMXFYC3vBlUSj8P123neIT7gPd9D/NSjXflCbSmvEINnMlx66FShEW92b S4d1ZUzMYWwmzbF89FkeCEs1TZid8Qb6h7b/6wc2oBQiCrAuzY/7ZigYvyrLXEKRdz9I9nMtFAY YUlrdmYb1qqTKUNxAMJA56Rr/QGRtPEyfXHS65GHoQOcdJESXKoByEuKp+LEqWFTmx4VfGPiuDV +vRQ7DwaeIDrJye28cmhJOOhGZ2565a+ZcORorCAYP2c0e7Z8C2zMkWmHEs8XWl36wUIdn20IU4 i/EP1w+seDz4+GhGeaOPdzpOBELjRs5IXGDjRI2LPTGlODFy0le0ZJCKvf3xt/pw5aGWOAhlPZe YYr5jHTumQ4LWo5DHwtr/qjMW0AvdR9kpKqsuGAg+g33nsAXkQl2wNmIHOdeJO6YPe09aPRZHHd 1eVt1Deu8rCpgMHh2/2gQ/BvTujMzG7rGSVzA== X-Received: by 2002:a05:6000:715:b0:441:1c35:4b79 with SMTP id ffacd0b85a97d-4603076f62bmr8473103f8f.8.1780901895621; Sun, 07 Jun 2026 23:58:15 -0700 (PDT) Received: from doehyun-dev.pradel.rg.cispa.de (x06.xlate.fw.cispa.de. [195.37.157.6]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f351d69sm89908194f8f.29.2026.06.07.23.58.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jun 2026 23:58:15 -0700 (PDT) From: Doehyun Baek To: Alex Shi , Yanteng Si , Hu Haowen <2023002089@link.tyut.edu.cn> Cc: Dongliang Mu , Jonathan Corbet , Shuah Khan , SeongJae Park , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, damon@lists.linux.dev, Doehyun Baek Subject: [PATCH v3 2/2] docs/zh_TW: update DAMON usage Traditional Chinese translation Date: Mon, 8 Jun 2026 06:57:45 +0000 Message-ID: <20260608065745.1587885-3-doehyunbaek@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260608065745.1587885-1-doehyunbaek@gmail.com> References: <20260523094420.741003-1-doehyunbaek@gmail.com> <20260608065745.1587885-1-doehyunbaek@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../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用法的內 + 核的用戶準備的。使用它,用戶可以在構建、啓動或運行時以簡單的方式爲給定目的使用DAMON的主要 + 功能。 - *DAMON用戶空間工具。* `這 `_ 爲有這特權的人, 如系統管理員,希望有一個剛好 可以工作的人性化界面。 @@ -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// ------------- -在每個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// 如果狀態爲 ``on``,讀取 ``pid`` 顯示kdamond線程的pid。 +用戶可以要求內核通過 ``refresh_ms`` 文件週期性地更新顯示自動調優參數和DAMOS統計信息的文件。 +向該文件寫入希望的更新時間間隔(毫秒)。如果間隔爲零,則禁用週期性更新。讀取該文件會顯示當前 +設置的時間間隔。 + ``contexts`` 目錄包含控制這個kdamond要執行的監測上下文的文件。 kdamonds//contexts/ @@ -129,15 +145,19 @@ kdamonds//contexts/ contexts// ------------- -在每個上下文目錄中,存在一個文件(``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:`地址單位 ` 參數。 + contexts//monitoring_attrs/ ------------------------------ @@ -161,11 +181,15 @@ contexts//targets/ targets// ------------ -在每個目標目錄中,存在一個文件(``pid_target``)和一個目錄(``regions``)。 +在每個目標目錄中,存在兩個文件(``pid_target`` 和 ``obsolete_target``)和一個目錄 +(``regions``)。 如果你把 ``vaddr`` 寫到 ``contexts//operations`` 中,每個目標應該是一個進程。你 可以通過將進程的pid寫到 ``pid_target`` 文件中來指定DAMON的進程。 +用戶可以向 ``obsolete_target`` 文件寫入非零值並提交它(向 ``state`` 文件寫入 ``commit``), +從目標數組中間選擇性地刪除目標。 + targets//regions ------------------- @@ -203,8 +227,9 @@ contexts//schemes/ schemes// ------------ -在每個方案目錄中,存在五個目錄(``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// - ``lru_deprio``: 對區域的LRU列表進行降低優先處理。 - ``stat``: 什麼都不做,只計算統計數據 +``target_nid`` 文件用於設置遷移目標節點,僅當 ``action`` 爲 ``migrate_hot`` 或 +``migrate_cold`` 時有意義。``apply_interval_us`` 文件用於以微秒爲單位設置和獲取方案的應用間隔。 + schemes//access_pattern/ --------------------------- @@ -239,14 +267,20 @@ schemes//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//watermarks/ ----------------------- @@ -271,16 +305,21 @@ schemes//stats/ DAMON統計每個方案被嘗試應用的區域的總數量和字節數,每個方案被成功應用的區域的兩個數字,以及 超過配額限制的總數量。這些統計數據可用於在線分析或調整方案。 -可以通過讀取 ``stats`` 目錄下的文件(``nr_tried``, ``sz_tried``, ``nr_applied``, -``sz_applied``, 和 ``qt_exceeds``))分別檢索這些統計數據。這些文件不是實時更新的,所以 -你應該要求DAMON sysfs接口通過在相關的 ``kdamonds//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//state`` 文件中寫入一個特殊的關鍵字 +``update_schemes_stats`` 來執行一次性更新。 schemes//tried_regions/ -------------------------- +該目錄開始時有一個文件 ``total_bytes``。 + 當一個特殊的關鍵字 ``update_schemes_tried_regions`` 被寫入相關的 ``kdamonds//state`` -文件時,DAMON會在這個目錄下創建從 ``0`` 開始命名的整數目錄。每個目錄包含的文件暴露了關於每個 +文件時,DAMON會更新 ``total_bytes`` 文件,使讀取該文件返回方案嘗試區域的總大小,並在這個目錄下 +創建從 ``0`` 開始命名的整數目錄。每個目錄包含的文件暴露了關於每個 內存區域的詳細信息,在下一個 :ref:`聚集區間 `,相應的方案的 ``動作`` 已經嘗試在這個目錄下應用。這些信息包括地址範圍、``nr_accesses`` 以及區域的 ``年齡`` 。 @@ -290,9 +329,8 @@ schemes//tried_regions/ tried_regions// ------------------ -在每個區域目錄中,你會發現四個文件(``start``, ``end``, ``nr_accesses``, and ``age``)。 -讀取這些文件將顯示相應的基於DAMON的操作方案 ``動作`` 試圖應用的區域的開始和結束地址、``nr_accesses`` -和 ``年齡`` 。 +在每個區域目錄中,你會發現五個文件(``start``、``end``、``nr_accesses``、``age`` 和 +``sz_filter_passed``)。讀取這些文件將顯示相應的基於DAMON的操作方案 ``動作`` 試圖應用的區域屬性。 用例 ~~~~ -- 2.43.0