The quilt patch titled Subject: Docs/translations/*/admin-guide/mm/damon/usage: remove DAMON debugfs interface documentation has been removed from the -mm tree. Its filename was docs-translations-admin-guide-mm-damon-usage-remove-damon-debugfs-interface-documentation.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: SeongJae Park <sj@xxxxxxxxxx> Subject: Docs/translations/*/admin-guide/mm/damon/usage: remove DAMON debugfs interface documentation Date: Mon, 6 Jan 2025 11:19:34 -0800 Patch series "mm/damon: remove DAMON debugfs interface". DAMON debugfs interface was the only user interface of DAMON at the beginning[1]. However, it turned out the interface would be not good enough for long-term flexibility and stability. In Feb 2022[2], we therefore introduced DAMON sysfs interface as an alternative user interface that aims long-term flexibility and stability. With its introduction, DAMON debugfs interface has announced to be deprecated in near future. In Feb 2023[3], we announced the official deprecation of DAMON debugfs interface. In Jan 2024[4], we further made the deprecation difficult to be ignored. In Oct 2024[5], we posted an RFC version of this patch series as the last notice. And as of this writing, no problem or concerns about the removal plan have reported. Apparently users are already moved to the alternative, or made good plans for the change. Remove the DAMON debugfs interface code from the tree. Given the past timeline and the absence of reported problems or concerns, it is safe enough to be done. [1] https://lore.kernel.org/20210716081449.22187-1-sj38.park@xxxxxxxxx [2] https://lore.kernel.org/20220228081314.5770-1-sj@xxxxxxxxxx [3] https://lore.kernel.org/20230209192009.7885-1-sj@xxxxxxxxxx [4] https://lore.kernel.org/20240130013549.89538-1-sj@xxxxxxxxxx [5] https://lore.kernel.org/20241015175412.60563-1-sj@xxxxxxxxxx This patch (of 8): It's time to remove DAMON debugfs interface, which has deprecated long before in February 2023. Read the cover letter of this patch sereis for more details. Remove DAMON debugfs interface usage documentation and references to it from translations, to avoid confusing users with documents for already removed things. Link: https://lkml.kernel.org/r/20250106191941.107070-1-sj@xxxxxxxxxx Link: https://lkml.kernel.org/r/20250106191941.107070-2-sj@xxxxxxxxxx Signed-off-by: SeongJae Park <sj@xxxxxxxxxx> Cc: Alex Shi <alexs@xxxxxxxxxx> Cc: Brendan Higgins <brendan.higgins@xxxxxxxxx> Cc: David Gow <davidgow@xxxxxxxxxx> Cc: Hu Haowen <2023002089@xxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Rae Moar <rmoar@xxxxxxxxxx> Cc: Shuah Khan <shuah@xxxxxxxxxx> Cc: Yanteng Si <si.yanteng@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst | 248 ---------- Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst | 248 ---------- 2 files changed, 2 insertions(+), 494 deletions(-) --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst~docs-translations-admin-guide-mm-damon-usage-remove-damon-debugfs-interface-documentation +++ a/Documentation/translations/zh_CN/admin-guide/mm/damon/usage.rst @@ -26,12 +26,7 @@ DAMON 为ä¸?å??ç??ç?¨æ?·æ??ä¾?äº?ä¸?é?¢è 使ç?¨å®?ï¼?ç?¨æ?·å?¯ä»¥é??è¿?读å??å??å??å?¥ç?¹æ®?ç??sysfsæ??件æ?¥ä½¿ç?¨DAMONç??主è¦?å??è?½ã??å? æ¤ï¼?ä½ å?¯ä»¥ç¼?å??å??使 ç?¨ä½ 个æ?§å??ç??DAMON sysfså??è£?ç¨?åº?ï¼?代æ?¿ä½ 读/å??sysfsæ??件ã?? `DAMONç?¨æ?·ç©ºé?´å·¥å?· <https://github.com/damonitor/damo>`_ å°±æ?¯è¿?ç§?ç¨?åº?ç??ä¸?个ä¾?å? å®?å??æ?¶æ?¯æ??è??æ??å??ç?©ç??å?°å?? - 空é?´ç??ç??æµ?ã??注æ??ï¼?è¿?个ç??é?¢å?ªæ??ä¾?ç®?å??ç??ç??æµ?ç»?æ?? :ref:`ç»?计 <damos_stats>`ã??对äº?详ç»?ç??ç??æµ? - ç»?æ??ï¼?DAMONæ??ä¾?äº?ä¸?个:ref:`è·?踪ç?¹ <tracepoint>`ã?? -- *debugfs interface.* - :ref:`è¿? <debugfs_interface>` å? ä¹?ä¸?:ref:`sysfs interface <sysfs_interface>` æ?¥ - å?£ç?¸å??ã??è¿?å°?å?¨ä¸?ä¸?个LTSå??æ ¸å??å¸?å??被移é?¤ï¼?æ??以ç?¨æ?·åº?该转移å?° - :ref:`sysfs interface <sysfs_interface>`ã?? + 空é?´ç??ç??æµ?ã?? - *å??æ ¸ç©ºé?´ç¼?ç¨?æ?¥å?£ã??* :doc:`è¿? </mm/damon/api>` è¿?æ?¯ä¸ºå??æ ¸ç©ºé?´ç¨?åº?å??å??å¤?ç??ã??使ç?¨å®?ï¼?ç?¨æ?·å?¯ä»¥é??è¿?ä¸ºä½ ç¼?å??å?? æ ¸ç©ºé?´ç??DAMONåº?ç?¨ç¨?åº?ï¼?æ??ç?µæ´»æ??æ??å?°å?©ç?¨DAMONç??æ¯?ä¸?个å??è?½ã??ä½ ç??è?³å?¯ä»¥ä¸ºå??ç§?å?°å??空é?´æ?©å±?DAMONã?? @@ -335,247 +330,6 @@ æ¢ç??æµ?ã??â?? :: 请注æ??ï¼?æ??们强ç??建议使ç?¨ç?¨æ?·ç©ºé?´ç??å·¥å?·ï¼?å¦? `damo <https://github.com/damonitor/damo>`_ ï¼? è??ä¸?æ?¯å??ä¸?é?¢é?£æ ·æ??å?¨è¯»å??æ??件ã??以ä¸?å?ªæ?¯ä¸?个ä¾?å?ã?? -debugfsæ?¥å?£ -=========== - -.. note:: - - DAMON debugfsæ?¥å?£å°?å?¨ä¸?ä¸?个LTSå??æ ¸å??å¸?å??被移é?¤ï¼?æ??以ç?¨æ?·åº?该转移å?° - :ref:`sysfsæ?¥å?£<sysfs_interface>`ã?? - -DAMON导å?ºäº?å?«ä¸ªæ??件, ``attrs``, ``target_ids``, ``init_regions``, -``schemes``, ``monitor_on_DEPRECATED``, ``kdamond_pid``, ``mk_contexts`` å?? -``rm_contexts`` under its debugfs directory, ``<debugfs>/damon/``. - - -å±?æ?§ ----- - -ç?¨æ?·å?¯ä»¥é??è¿?读å??å??å??å?¥ ``attrs`` æ??件è?·å¾?å??设置 ``é??æ ·é?´é??`` ã?? ``è??é??é?´é??`` ã?? ``æ?´æ?°é?´é??`` -以å??ç??æµ?ç?®æ ?å?ºå??ç??æ??å°?/æ??大æ?°é??ã??è¦?详ç»?äº?解ç??æµ?å±?æ?§ï¼?请å??è?? `:doc:/mm/damon/design` ã??ä¾?å¦?ï¼? -ä¸?é?¢ç??å?½ä»¤å°?è¿?äº?å?¼è®¾ç½®ä¸º5msã??100msã??1000msã??10å??1000ï¼?ç?¶å??å??次æ£?æ?¥:: - - # cd <debugfs>/damon - # echo 5000 100000 1000000 10 1000 > attrs - # cat attrs - 5000 100000 1000000 10 1000 - - -ç?®æ ?ID ------- - -ä¸?äº?ç±»å??ç??å?°å??空é?´æ?¯æ??å¤?个ç??æµ?ç?®æ ?ã??ä¾?å¦?ï¼?è??æ??å??å?å?°å??空é?´ç??ç??æµ?å?¯ä»¥æ??å¤?个è¿?ç¨?ä½?为ç??æµ?ç?®æ ?ã??ç?¨æ?· -å?¯ä»¥é??è¿?å??å?¥ç?®æ ?ç??ç?¸å?³idå?¼æ?¥è®¾ç½®ç?®æ ?ï¼?并é??è¿?读å?? ``target_ids`` æ??件æ?¥è?·å¾?å½?å??ç?®æ ?ç??idã??å?¨ç?? -æµ?è??æ??å?°å??空é?´ç??æ??å?µä¸?ï¼?è¿?äº?å?¼åº?该æ?¯ç??æµ?ç?®æ ?è¿?ç¨?ç??pidã??ä¾?å¦?ï¼?ä¸?é?¢ç??å?½ä»¤å°?pid为42å??4242ç??è¿?ç¨?设 -为ç??æµ?ç?®æ ?ï¼?并å??次æ£?æ?¥:: - - # cd <debugfs>/damon - # echo 42 4242 > target_ids - # cat target_ids - 42 4242 - -ç?¨æ?·è¿?å?¯ä»¥é??è¿?å?¨æ??件ä¸å??å?¥ä¸?个ç?¹æ®?ç??å?³é?®å? "paddr\n" æ?¥ç??æµ?ç³»ç»?ç??ç?©ç??å??å?å?°å??空é?´ã??å? 为ç?©ç??å?° -å??空é?´ç??æµ?ä¸?æ?¯æ??å¤?个ç?®æ ?ï¼?读å??æ??件ä¼?æ?¾ç¤ºä¸?个å??å?¼ï¼?å?³ ``42`` ï¼?å¦?ä¸?å?¾æ??示:: - - # cd <debugfs>/damon - # echo paddr > target_ids - # cat target_ids - 42 - -请注æ??ï¼?设置ç?®æ ?ID并ä¸?å?¯å?¨ç??æµ?ã?? - - -å??å§?ç??æµ?ç?®æ ?å?ºå?? ----------------- - -å?¨è??æ??å?°å??空é?´ç??æµ?ç??æ??å?µä¸?ï¼?DAMONè?ªå?¨è®¾ç½®å??æ?´æ?°ç??æµ?ç??ç?®æ ?å?ºå??ï¼?è¿?æ ·å°±å?¯ä»¥è¦?ç??ç?®æ ?è¿?ç¨?ç??æ?´ä¸ª -å??å?æ? å°?ã??ç?¶è??ï¼?ç?¨æ?·å?¯è?½å¸?æ??å°?ç??æµ?å?ºå??é??å?¶å?¨ç?¹å®?ç??å?°å??è??å?´å??ï¼?å¦?å ?ã??æ ?æ??ç?¹å®?ç??æ??件æ? å°?å?ºå??ã?? -æ??è??ï¼?ä¸?äº?ç?¨æ?·å?¯ä»¥ç?¥é??ä»?们工ä½?è´?è½½ç??å??å§?访é?®æ¨¡å¼?ï¼?å? æ¤å¸?æ??为â??è?ªé??åº?å?ºå??è°?æ?´â??设置æ??ä½³å??å§?å?ºå??ã?? - -ç?¸æ¯?ä¹?ä¸?ï¼?DAMONå?¨ç?©ç??å??å?ç??æµ?ç??æ??å?µä¸?ä¸?ä¼?è?ªå?¨è®¾ç½®å??æ?´æ?°ç??æµ?ç?®æ ?å?ºå??ã??å? æ¤ï¼?ç?¨æ?·åº?该è?ªå·±è®¾ç½® -ç??æµ?ç?®æ ?å?ºå??ã?? - -å?¨è¿?ç§?æ??å?µä¸?ï¼?ç?¨æ?·å?¯ä»¥é??è¿?å?¨ ``init_regions`` æ??件ä¸å??å?¥é??å½?ç??å?¼ï¼?æ??ç¡®å?°è®¾ç½®ä»?们æ?³è¦?ç??å?? -å§?ç??æµ?ç?®æ ?å?ºå??ã??è¾?å?¥åº?该æ?¯ä¸?个ç?±ä¸?个æ?´æ?°ç»?æ??ç??é??å??ï¼?ç?¨ç©ºæ ¼é??å¼?ï¼?代表ä¸?个å?ºå??ç??å½¢å¼?å¦?ä¸?:: - - <target idx> <start address> <end address> - -ç?®æ ?idxåº?该æ?¯ ``target_ids`` æ??件ä¸ç?®æ ?ç??ç´¢å¼?ï¼?ä»? ``0`` å¼?å§?ï¼?å?ºå??åº?该æ??ç?§å?°å??顺åº?ä¼ é??ã?? -ä¾?å¦?ï¼?ä¸?é?¢ç??å?½ä»¤å°?设置å? 个å?°å??è??å?´ï¼? ``1-100`` å?? ``100-200`` ä½?为pid 42ç??å??å§?ç??æµ?ç?®æ ? -å?ºå??ï¼?è¿?æ?¯ ``target_ids`` ä¸ç??第ä¸?个ï¼?ç´¢å¼? ``0`` ï¼?ï¼?å?¦å¤?å? 个å?°å??è??å?´ï¼? ``20-40`` å?? -``50-100`` ä½?为pid 4242ç??å?°å??ï¼?è¿?æ?¯ ``target_ids`` ä¸ç??第äº?个ï¼?ç´¢å¼? ``1`` ï¼?:: - - # cd <debugfs>/damon - # cat target_ids - 42 4242 - # echo "0 1 100 \ - 0 100 200 \ - 1 20 40 \ - 1 50 100" > init_regions - -请注æ??ï¼?è¿?å?ªæ?¯è®¾ç½®äº?å??å§?ç??ç??æµ?ç?®æ ?å?ºå??ã??å?¨è??æ??å??å?ç??æµ?ç??æ??å?µä¸?ï¼?DAMONä¼?å?¨ä¸?个 ``æ?´æ?°é?´é??`` -å??è?ªå?¨æ?´æ?°å?ºå??ç??è¾¹ç??ã??å? æ¤ï¼?å?¨è¿?ç§?æ??å?µä¸?ï¼?å¦?æ??ç?¨æ?·ä¸?å¸?æ??æ?´æ?°ç??è¯?ï¼?åº?该æ?? ``æ?´æ?°é?´é??`` 设 -ç½®å¾?足å¤?大ã?? - - -æ?¹æ¡? ----- - -对äº?é??常ç??å?ºäº?DAMONç??æ?°æ?®è®¿é?®æ??ç?¥ç??å??å?管ç??ä¼?å??ï¼?ç?¨æ?·å?ªæ?¯å¸?æ??ç³»ç»?对ç?¹å®?访é?®æ¨¡å¼?ç??å??å?å?ºå??åº?ç?¨å?? -å?管ç??æ??ä½?ã??DAMONä»?ç?¨æ?·é?£é??æ?¥æ?¶è¿?ç§?å½¢å¼?å??ç??æ??ä½?æ?¹æ¡?ï¼?并å°?è¿?äº?æ?¹æ¡?åº?ç?¨å?°ç?®æ ?è¿?ç¨?ä¸ã?? - -ç?¨æ?·å?¯ä»¥é??è¿?读å??å??å??å?¥ ``scheme`` debugfsæ??件æ?¥è?·å¾?å??设置è¿?äº?æ?¹æ¡?ã??读å??该æ??件è¿?å?¯ä»¥æ?¾ç¤ºæ¯?个 -æ?¹æ¡?ç??ç»?计æ?°æ?®ã??å?¨æ??件ä¸ï¼?æ¯?ä¸?个æ?¹æ¡?é?½åº?该å?¨æ¯?ä¸?è¡?ä¸ä»¥ä¸?å??å½¢å¼?表示å?ºæ?¥:: - - <target access pattern> <action> <quota> <watermarks> - -ä½ å?¯ä»¥é??è¿?ç®?å??å?°å?¨æ??件ä¸å??å?¥ä¸?个空å?符串æ?¥ç¦?ç?¨æ?¹æ¡?ã?? - -ç?®æ ?访é?®æ¨¡å¼? -~~~~~~~~~~~~ - -``<ç?®æ ?访é?®æ¨¡å¼?>`` æ?¯ç?±ä¸?个è??å?´æ??æ??ç??ï¼?å½¢å¼?å¦?ä¸?:: - - min-size max-size min-acc max-acc min-age max-age - -å?·ä½?æ?¥è¯´ï¼?å?ºå??大å°?ç??å?è??æ?°ï¼? `min-size` å?? `max-size` ï¼?ï¼?访é?®é¢?ç??ç??æ¯?è??å??å?ºé?´ç??ç??æµ?访é?®æ¬¡ -æ?°ï¼? `min-acc` å?? `max-acc` ï¼?ï¼?å?ºå??å¹´é¾?ç??è??å??å?ºé?´æ?°ï¼? `min-age` å?? `max-age` ï¼?é?½è¢«æ??å®?ã?? -请注æ??ï¼?è¿?äº?è??å?´æ?¯å°?é?å?ºé?´ã?? - -å?¨ä½? -~~~~ - -``<action>`` æ?¯ä¸?个é¢?å®?ä¹?ç??å??å?管ç??å?¨ä½?ç??æ?´æ?°ï¼?DAMONå°?åº?ç?¨äº?å?·æ??ç?®æ ?访é?®æ¨¡å¼?ç??å?ºå??ã??æ?¯æ?? -ç??æ?°å?å??å®?们ç??å?«ä¹?å¦?ä¸?:: - - - 0: Call ``madvise()`` for the region with ``MADV_WILLNEED`` - - 1: Call ``madvise()`` for the region with ``MADV_COLD`` - - 2: Call ``madvise()`` for the region with ``MADV_PAGEOUT`` - - 3: Call ``madvise()`` for the region with ``MADV_HUGEPAGE`` - - 4: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE`` - - 5: Do nothing but count the statistics - -é??é¢? -~~~~ - -æ¯?个 ``å?¨ä½?`` ç??æ??ä½³ ``ç?®æ ?访é?®æ¨¡å¼?`` å??å?³äº?å·¥ä½?è´?è½½ï¼?æ??以ä¸?容æ??æ?¾å?°ã??æ?´ç³?ç³?ç??æ?¯ï¼?å°?æ??个 -å?¨ä½?ç??æ?¹æ¡?设置å¾?è¿?äº?æ¿?è¿?ä¼?导è?´ä¸¥é??ç??å¼?é??ã??为äº?é?¿å??è¿?ç§?å¼?é??ï¼?ç?¨æ?·å?¯ä»¥é??è¿?ä¸?é?¢è¡¨æ ¼ä¸ç?? ``<quota>`` -æ?¥é??å?¶æ?¹æ¡?ç??æ?¶é?´å??大å°?é??é¢?:: - - <ms> <sz> <reset interval> <priority weights> - -è¿?使å¾?DAMONå?¨ ``<reset interval>`` 毫ç§?å??ï¼?å°½é??å?ªç?¨ ``<ms>`` 毫ç§?ç??æ?¶é?´å¯¹ ``ç?®æ ?访 -é?®æ¨¡å¼?`` ç??å??å?å?ºå??åº?ç?¨å?¨ä½?ï¼?并å?¨ ``<reset interval>`` å??å?ªå¯¹æ??å¤?<sz>å?è??ç??å??å?å?ºå??åº? -ç?¨å?¨ä½?ã??å°? ``<ms>`` å?? ``<sz>`` é?½è®¾ç½®ä¸ºé?¶ï¼?å?¯ä»¥ç¦?ç?¨é??é¢?é??å?¶ã?? - -å½?é¢?计è¶?è¿?é??é¢?é??å?¶æ?¶ï¼?DAMONä¼?æ ¹æ?® ``ç?®æ ?访é?®æ¨¡å¼?`` ç??大å°?ã??访é?®é¢?ç??å??å¹´é¾?ï¼?对å??ç?°ç??å??å? -å?ºå??è¿?è¡?ä¼?å??æ??åº?ã??为äº?å®?ç?°ä¸ªæ?§å??ç??ä¼?å??级ï¼?ç?¨æ?·å?¯ä»¥å?¨ ``<ä¼?å??级æ??é??>`` ä¸è®¾ç½®è¿?ä¸?个å±?æ?§ç?? -æ??é??ï¼?å?·ä½?å½¢å¼?å¦?ä¸?:: - - <size weight> <access frequency weight> <age weight> - -æ°´ä½? -~~~~ - -æ??äº?æ?¹æ¡?é??è¦?æ ¹æ?®ç³»ç»?ç?¹å®?æ??æ ?ç??å½?å??å?¼æ?¥è¿?è¡?ï¼?å¦?è?ªç?±å??å?æ¯?ç??ã??对äº?è¿?ç§?æ??å?µï¼?ç?¨æ?·å?¯ä»¥ä¸ºè¯¥æ?¡ -件æ??å®?æ°´ä½?ã??:: - - <metric> <check interval> <high mark> <middle mark> <low mark> - -``<metric>`` æ?¯ä¸?个é¢?å®?ä¹?ç??æ?´æ?°ï¼?ç?¨äº?è¦?æ£?æ?¥ç??度é??ã??æ?¯æ??ç??æ?°å?å??å®?们ç??å?«ä¹?å¦?ä¸?ã?? - - - 0: 忽è§?æ°´ä½? - - 1: ç³»ç»?空é?²å??å?ç?? (å??å??æ¯?) - -æ¯?é?? ``<æ£?æ?¥é?´é??>`` å¾®ç§?æ£?æ?¥ä¸?次å?¬å?¶ç??å?¼ã?? - -å¦?æ??该å?¼é«?äº? ``<é«?æ ?>`` æ??ä½?äº? ``<ä½?æ ?>`` ï¼?该æ?¹æ¡?被å??ç?¨ã??å¦?æ??该å?¼ä½?äº? ``<ä¸æ ?>`` ï¼? -该æ?¹æ¡?å°?被æ¿?æ´»ã?? - -ç»?计æ?°æ?® -~~~~~~~~ - -å®?è¿?ç»?计æ¯?个æ?¹æ¡?被å°?è¯?åº?ç?¨ç??å?ºå??ç??æ?»æ?°é??å??å?è??æ?°ï¼?æ¯?个æ?¹æ¡?被æ??å??åº?ç?¨ç??å?ºå??ç??两个æ?°é??ï¼?以 -å??è¶?è¿?é??é¢?é??å?¶ç??æ?»æ?°é??ã??è¿?äº?ç»?计æ?°æ?®å?¯ç?¨äº?å?¨çº¿å??æ??æ??è°?æ?´æ?¹æ¡?ã?? - -ç»?计æ?°æ?®å?¯ä»¥é??è¿?读å??æ?¹æ¡?æ??件æ?¥æ?¾ç¤ºã??读å??该æ??件å°?æ?¾ç¤ºä½ å?¨æ¯?ä¸?è¡?ä¸è¾?å?¥ç??æ¯?个 ``æ?¹æ¡?`` ï¼? -ç»?计ç??äº?个æ?°å?å°?被å? å?¨æ¯?ä¸?è¡?ç??æ?«å°¾ã?? - -ä¾?å? -~~~~ - -ä¸?é?¢ç??å?½ä»¤åº?ç?¨äº?ä¸?个æ?¹æ¡?ï¼?â??å¦?æ??ä¸?个大å°?为[4KiB, 8KiB]ç??å??å?å?ºå??å?¨[10, 20]ç??è??å??æ?¶é?´ -é?´é??å??æ?¾ç¤ºå?ºæ¯?ä¸?个è??å??æ?¶é?´é?´é??[0, 5]ç??访é?®é??ï¼?请å??页å?ºè¯¥å?ºå??ã??对äº?å??页ï¼?æ¯?ç§?æ??å¤?å?ªè?½ä½¿ -ç?¨10msï¼?è??ä¸?æ¯?ç§?å??页ä¸?è?½è¶?è¿?1GiBã??å?¨è¿?ä¸?é??å?¶ä¸?ï¼?é¦?å??å??页å?ºå?·æ??è¾?é?¿å¹´é¾?ç??å??å?å?ºå??ã??å?¦å¤?ï¼? -æ¯?5ç§?é??æ£?æ?¥ä¸?次系ç»?ç??å?¯ç?¨å??å?ç??ï¼?å½?å?¯ç?¨å??å?ç??ä½?äº?50%æ?¶å¼?å§?ç??æµ?å??å??页ï¼?ä½?å¦?æ??å?¯ç?¨å??å?ç?? -大äº?60%ï¼?æ??ä½?äº?30%ï¼?å??å??æ¢ç??æµ?â??:: - - # cd <debugfs>/damon - # scheme="4096 8192 0 5 10 20 2" # target access pattern and action - # scheme+=" 10 $((1024*1024*1024)) 1000" # quotas - # scheme+=" 0 0 100" # prioritization weights - # scheme+=" 1 5000000 600 500 300" # watermarks - # echo "$scheme" > schemes - - -å¼?å?³ ----- - -é?¤é??ä½ æ??ç¡®å?°å?¯å?¨ç??æµ?ï¼?å?¦å??å¦?ä¸?æ??è¿°ç??æ??件设置ä¸?ä¼?产ç??æ??æ??ã??ä½ å?¯ä»¥é??è¿?å??å?¥å??读å?? ``monitor_on_DEPRECATED`` -æ??件æ?¥å?¯å?¨ã??å??æ¢å??æ£?æ?¥ç??æµ?ç??å½?å??ç?¶æ??ã??å??å?¥ ``on`` 该æ??件å?¯ä»¥å?¯å?¨å¯¹æ??å±?æ?§ç??ç?®æ ?ç??ç??æµ?ã??å??å?¥ -``off`` 该æ??件å??å??æ¢è¿?äº?ç?®æ ?ã??å¦?æ??æ¯?个ç?®æ ?è¿?ç¨?被ç»?æ¢ï¼?DAMONä¹?ä¼?å??æ¢ã??ä¸?é?¢ç??示ä¾?å?½ä»¤å¼?å?¯ã??å?³ -é?å??æ£?æ?¥DAMONç??ç?¶æ??:: - - # cd <debugfs>/damon - # echo on > monitor_on_DEPRECATED - # echo off > monitor_on_DEPRECATED - # cat monitor_on_DEPRECATED - off - -请注æ??ï¼?å½?ç??æµ?å¼?å?¯æ?¶ï¼?ä½ ä¸?è?½å??å?°ä¸?è¿°ç??debugfsæ??件ã??å¦?æ??ä½ å?¨DAMONè¿?è¡?æ?¶å??å?°è¿?äº?æ??件ï¼?å°?ä¼?è¿? -å??ä¸?个é??误代ç ?ï¼?å¦? ``-EBUSY`` ã?? - - -ç??æµ?线ç¨?PID ------------ - -DAMONé??è¿?ä¸?个å?«å??kdamondç??å??æ ¸çº¿ç¨?æ?¥è¿?è¡?请æ±?ç??æµ?ã??ä½ å?¯ä»¥é??è¿?读å?? ``kdamond_pid`` æ??件è?· -å¾?该线ç¨?ç?? ``pid`` ã??å½?ç??æµ?被 ``å?³é?`` æ?¶ï¼?读å??该æ??件ä¸?ä¼?è¿?å??ä»»ä½?ä¿¡æ?¯:: - - # cd <debugfs>/damon - # cat monitor_on_DEPRECATED - off - # cat kdamond_pid - none - # echo on > monitor_on_DEPRECATED - # cat kdamond_pid - 18594 - - -使ç?¨å¤?个ç??æµ?线ç¨? ----------------- - -æ¯?个ç??æµ?ä¸?ä¸?æ??é?½ä¼?å??建ä¸?个 ``kdamond`` 线ç¨?ã??ä½ å?¯ä»¥ä½¿ç?¨ ``mk_contexts`` å?? ``rm_contexts`` -æ??件为å¤?个 ``kdamond`` é??è¦?ç??ç?¨ä¾?å??建å??å? é?¤ç??æµ?ä¸?ä¸?æ??ã?? - -å°?æ?°ä¸?ä¸?æ??ç??å??称å??å?¥ ``mk_contexts`` æ??件ï¼?å?¨ ``DAMON debugfs`` ç?®å½?ä¸?å??建ä¸?个该å??称ç??ç?®å½?ã?? -该ç?®å½?å°?æ??该ä¸?ä¸?æ??ç?? ``DAMON debugfs`` æ??件:: - - # cd <debugfs>/damon - # ls foo - # ls: cannot access 'foo': No such file or directory - # echo foo > mk_contexts - # ls foo - # attrs init_regions kdamond_pid schemes target_ids - -å¦?æ??ä¸?å??é??è¦?ä¸?ä¸?æ??ï¼?ä½ å?¯ä»¥é??è¿?æ??ä¸?ä¸?æ??ç??å??å?æ?¾å?° ``rm_contexts`` æ??件ä¸æ?¥å? é?¤å®?å??ç?¸åº?ç??ç?®å½?:: - - # echo foo > rm_contexts - # ls foo - # ls: cannot access 'foo': No such file or directory - -注æ??ï¼? ``mk_contexts`` ã?? ``rm_contexts`` å?? ``monitor_on_DEPRECATED`` æ??件å?ªå?¨æ ¹ç?®å½?ä¸?ã?? - ç??æµ?ç»?æ??ç??ç??æµ?ç?¹ ================ --- a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst~docs-translations-admin-guide-mm-damon-usage-remove-damon-debugfs-interface-documentation +++ a/Documentation/translations/zh_TW/admin-guide/mm/damon/usage.rst @@ -26,12 +26,7 @@ DAMON ç?²ä¸?å??ç??ç?¨æ?¶æ??ä¾?äº?ä¸?é?¢é 使ç?¨å®?ï¼?ç?¨æ?¶å?¯ä»¥é??é??è®?å??å??寫å?¥ç?¹æ®?ç??sysfsæ??件ä¾?使ç?¨DAMONç??主è¦?å??è?½ã??å? æ¤ï¼?ä½ å?¯ä»¥ç·¨å¯«å??使 ç?¨ä½ å??æ?§å??ç??DAMON sysfså??è£?ç¨?åº?ï¼?代æ?¿ä½ è®?/寫sysfsæ??件ã?? `DAMONç?¨æ?¶ç©ºé??å·¥å?· <https://github.com/damonitor/damo>`_ å°±æ?¯é??種ç¨?åº?ç??ä¸?å??ä¾?å? å®?å??æ??æ?¯æ??è??æ?¬å??ç?©ç??å?°å?? - 空é??ç??ç?£æ¸¬ã??注æ??ï¼?é??å??ç??é?¢å?ªæ??ä¾?ç°¡å?®ç??ç?£æ¸¬çµ?æ?? :ref:`çµ±è¨? <damos_stats>`ã??å°?æ?¼è©³ç´°ç??ç?£æ¸¬ - çµ?æ??ï¼?DAMONæ??ä¾?äº?ä¸?å??:ref:`è·?蹤é»? <tracepoint>`ã?? -- *debugfs interface.* - :ref:`é?? <debugfs_interface>` å¹¾ä¹?è??:ref:`sysfs interface <sysfs_interface>` æ?¥ - å?£ç?¸å??ã??é??å°?å?¨ä¸?ä¸?å??LTSå?§æ ¸ç?¼ä½?å¾?被移é?¤ï¼?æ??以ç?¨æ?¶æ??該è½?移å?° - :ref:`sysfs interface <sysfs_interface>`ã?? + 空é??ç??ç?£æ¸¬ã?? - *å?§æ ¸ç©ºé??ç·¨ç¨?æ?¥å?£ã??* :doc:`é?? </mm/damon/api>` é??æ?¯ç?²å?§æ ¸ç©ºé??ç¨?åº?å?¡æº?å??ç??ã??使ç?¨å®?ï¼?ç?¨æ?¶å?¯ä»¥é??é??ç?²ä½ 編寫å?§ æ ¸ç©ºé??ç??DAMONæ??ç?¨ç¨?åº?ï¼?æ??é??æ´»æ??æ??å?°å?©ç?¨DAMONç??æ¯?ä¸?å??å??è?½ã??ä½ ç??è?³å?¯ä»¥ç?²å??種å?°å??空é??æ?´å±?DAMONã?? @@ -335,247 +330,6 @@ æ¢ç?£æ¸¬ã??â?? :: è«?注æ??ï¼?æ??å??å¼·ç??建è°ä½¿ç?¨ç?¨æ?¶ç©ºé??ç??å·¥å?·ï¼?å¦? `damo <https://github.com/damonitor/damo>`_ ï¼? è??ä¸?æ?¯å??ä¸?é?¢é?£æ¨£æ??å??è®?寫æ??件ã??以ä¸?å?ªæ?¯ä¸?å??ä¾?å?ã?? -debugfsæ?¥å?£ -=========== - -.. note:: - - DAMON debugfsæ?¥å?£å°?å?¨ä¸?ä¸?å??LTSå?§æ ¸ç?¼ä½?å¾?被移é?¤ï¼?æ??以ç?¨æ?¶æ??該è½?移å?° - :ref:`sysfsæ?¥å?£<sysfs_interface>`ã?? - -DAMONå°?å?ºäº?å?«å??æ??件, ``attrs``, ``target_ids``, ``init_regions``, -``schemes``, ``monitor_on_DEPRECATED``, ``kdamond_pid``, ``mk_contexts`` å?? -``rm_contexts`` under its debugfs directory, ``<debugfs>/damon/``. - - -屬æ?§ ----- - -ç?¨æ?¶å?¯ä»¥é??é??è®?å??å??寫å?¥ ``attrs`` æ??件ç?²å¾?å??è¨ç½® ``æ?¡æ¨£é??é??`` ã?? ``è??é??é??é??`` ã?? ``æ?´æ?°é??é??`` -以å??ç?£æ¸¬ç?®æ¨?å??å??ç??æ??å°?/æ??大æ?¸é??ã??è¦?詳細ç?解ç?£æ¸¬å±¬æ?§ï¼?è«?å??è?? `:doc:/mm/damon/design` ã??ä¾?å¦?ï¼? -ä¸?é?¢ç??å?½ä»¤å°?é??äº?å?¼è¨ç½®ç?²5msã??100msã??1000msã??10å??1000ï¼?ç?¶å¾?å??次檢æ?¥:: - - # cd <debugfs>/damon - # echo 5000 100000 1000000 10 1000 > attrs - # cat attrs - 5000 100000 1000000 10 1000 - - -ç?®æ¨?ID ------- - -ä¸?äº?é¡?å??ç??å?°å??空é??æ?¯æ??å¤?å??ç?£æ¸¬ç?®æ¨?ã??ä¾?å¦?ï¼?è??æ?¬å?§å?å?°å??空é??ç??ç?£æ¸¬å?¯ä»¥æ??å¤?å??é?²ç¨?ä½?ç?²ç?£æ¸¬ç?®æ¨?ã??ç?¨æ?¶ -å?¯ä»¥é??é??寫å?¥ç?®æ¨?ç??ç?¸é??idå?¼ä¾?è¨ç½®ç?®æ¨?ï¼?並é??é??è®?å?? ``target_ids`` æ??件ä¾?ç?²å¾?ç?¶å??ç?®æ¨?ç??idã??å?¨ç?£ -測è??æ?¬å?°å??空é??ç??æ??æ³?ä¸?ï¼?é??äº?å?¼æ??該æ?¯ç?£æ¸¬ç?®æ¨?é?²ç¨?ç??pidã??ä¾?å¦?ï¼?ä¸?é?¢ç??å?½ä»¤å°?pidç?²42å??4242ç??é?²ç¨?è¨ -ç?²ç?£æ¸¬ç?®æ¨?ï¼?並å??次檢æ?¥:: - - # cd <debugfs>/damon - # echo 42 4242 > target_ids - # cat target_ids - 42 4242 - -ç?¨æ?¶é??å?¯ä»¥é??é??å?¨æ??件ä¸å¯«å?¥ä¸?å??ç?¹æ®?ç??é??é?µå? "paddr\n" ä¾?ç?£æ¸¬ç³»çµ±ç??ç?©ç??å?§å?å?°å??空é??ã??å? ç?²ç?©ç??å?° -å??空é??ç?£æ¸¬ä¸?æ?¯æ??å¤?å??ç?®æ¨?ï¼?è®?å??æ??件æ??顯示ä¸?å??å??å?¼ï¼?å?³ ``42`` ï¼?å¦?ä¸?å??æ??示:: - - # cd <debugfs>/damon - # echo paddr > target_ids - # cat target_ids - 42 - -è«?注æ??ï¼?è¨ç½®ç?®æ¨?ID並ä¸?å??å??ç?£æ¸¬ã?? - - -å??å§?ç?£æ¸¬ç?®æ¨?å??å?? ----------------- - -å?¨è??æ?¬å?°å??空é??ç?£æ¸¬ç??æ??æ³?ä¸?ï¼?DAMONè?ªå??è¨ç½®å??æ?´æ?°ç?£æ¸¬ç??ç?®æ¨?å??å??ï¼?é??樣就å?¯ä»¥è¦?è??ç?®æ¨?é?²ç¨?ç??æ?´å?? -å?§å?æ? å°?ã??ç?¶è??ï¼?ç?¨æ?¶å?¯è?½å¸?æ??å°?ç?£æ¸¬å??å??é??å?¶å?¨ç?¹å®?ç??å?°å??ç¯?å??å?§ï¼?å¦?å ?ã??棧æ??ç?¹å®?ç??æ??件æ? å°?å??å??ã?? -æ??è??ï¼?ä¸?äº?ç?¨æ?¶å?¯ä»¥ç?¥é??ä»?å??å·¥ä½?è² è¼?ç??å??å§?訪å??模å¼?ï¼?å? æ¤å¸?æ??ç?²â??è?ªé?©æ??å??å??調æ?´â??è¨ç½®æ??ä½³å??å§?å??å??ã?? - -ç?¸æ¯?ä¹?ä¸?ï¼?DAMONå?¨ç?©ç??å?§å?ç?£æ¸¬ç??æ??æ³?ä¸?ä¸?æ??è?ªå??è¨ç½®å??æ?´æ?°ç?£æ¸¬ç?®æ¨?å??å??ã??å? æ¤ï¼?ç?¨æ?¶æ??該è?ªå·±è¨ç½® -ç?£æ¸¬ç?®æ¨?å??å??ã?? - -å?¨é??種æ??æ³?ä¸?ï¼?ç?¨æ?¶å?¯ä»¥é??é??å?¨ ``init_regions`` æ??件ä¸å¯«å?¥é?©ç?¶ç??å?¼ï¼?æ??確å?°è¨ç½®ä»?å??æ?³è¦?ç??å?? -å§?ç?£æ¸¬ç?®æ¨?å??å??ã??輸å?¥æ??該æ?¯ä¸?å??ç?±ä¸?å??æ?´æ?¸çµ?æ??ç??é??å??ï¼?ç?¨ç©ºæ ¼é??é??ï¼?代表ä¸?å??å??å??ç??å½¢å¼?å¦?ä¸?:: - - <target idx> <start address> <end address> - -ç?®æ¨?idxæ??該æ?¯ ``target_ids`` æ??件ä¸ç?®æ¨?ç??ç´¢å¼?ï¼?å¾? ``0`` é??å§?ï¼?å??å??æ??該æ??ç?§å?°å??é ?åº?å?³é??ã?? -ä¾?å¦?ï¼?ä¸?é?¢ç??å?½ä»¤å°?è¨ç½®å¹¾å??å?°å??ç¯?å??ï¼? ``1-100`` å?? ``100-200`` ä½?ç?²pid 42ç??å??å§?ç?£æ¸¬ç?®æ¨? -å??å??ï¼?é??æ?¯ ``target_ids`` ä¸ç??第ä¸?å??ï¼?ç´¢å¼? ``0`` ï¼?ï¼?å?¦å¤?å¹¾å??å?°å??ç¯?å??ï¼? ``20-40`` å?? -``50-100`` ä½?ç?²pid 4242ç??å?°å??ï¼?é??æ?¯ ``target_ids`` ä¸ç??第äº?å??ï¼?ç´¢å¼? ``1`` ï¼?:: - - # cd <debugfs>/damon - # cat target_ids - 42 4242 - # echo "0 1 100 \ - 0 100 200 \ - 1 20 40 \ - 1 50 100" > init_regions - -è«?注æ??ï¼?é??å?ªæ?¯è¨ç½®äº?å??å§?ç??ç?£æ¸¬ç?®æ¨?å??å??ã??å?¨è??æ?¬å?§å?ç?£æ¸¬ç??æ??æ³?ä¸?ï¼?DAMONæ??å?¨ä¸?å?? ``æ?´æ?°é??é??`` -å¾?è?ªå??æ?´æ?°å??å??ç??é??ç??ã??å? æ¤ï¼?å?¨é??種æ??æ³?ä¸?ï¼?å¦?æ??ç?¨æ?¶ä¸?å¸?æ??æ?´æ?°ç??話ï¼?æ??該æ?? ``æ?´æ?°é??é??`` è¨ -ç½®å¾?è¶³å¤ å¤§ã?? - - -æ?¹æ¡? ----- - -å°?æ?¼é??常ç??å?ºæ?¼DAMONç??æ?¸æ??訪å??æ??ç?¥ç??å?§å?管ç??å?ªå??ï¼?ç?¨æ?¶å?ªæ?¯å¸?æ??系統å°?ç?¹å®?訪å??模å¼?ç??å?§å?å??å??æ??ç?¨å?§ -å?管ç??æ??ä½?ã??DAMONå¾?ç?¨æ?¶é?£è£?æ?¥æ?¶é??種形å¼?å??ç??æ??ä½?æ?¹æ¡?ï¼?並å°?é??äº?æ?¹æ¡?æ??ç?¨å?°ç?®æ¨?é?²ç¨?ä¸ã?? - -ç?¨æ?¶å?¯ä»¥é??é??è®?å??å??寫å?¥ ``scheme`` debugfsæ??件ä¾?ç?²å¾?å??è¨ç½®é??äº?æ?¹æ¡?ã??è®?å??該æ??件é??å?¯ä»¥é¡¯ç¤ºæ¯?å?? -æ?¹æ¡?ç??çµ±è¨?æ?¸æ??ã??å?¨æ??件ä¸ï¼?æ¯?ä¸?å??æ?¹æ¡?é?½æ??該å?¨æ¯?ä¸?è¡?ä¸ä»¥ä¸?å??å½¢å¼?表示å?ºä¾?:: - - <target access pattern> <action> <quota> <watermarks> - -ä½ å?¯ä»¥é??é??ç°¡å?®å?°å?¨æ??件ä¸å¯«å?¥ä¸?å??空å?符串ä¾?ç¦?ç?¨æ?¹æ¡?ã?? - -ç?®æ¨?訪å??模å¼? -~~~~~~~~~~~~ - -``<ç?®æ¨?訪å??模å¼?>`` æ?¯ç?±ä¸?å??ç¯?å??æ§?æ??ç??ï¼?å½¢å¼?å¦?ä¸?:: - - min-size max-size min-acc max-acc min-age max-age - -å?·é«?ä¾?說ï¼?å??å??大å°?ç??å?ç¯?æ?¸ï¼? `min-size` å?? `max-size` ï¼?ï¼?訪å??é »ç??ç??æ¯?è??å??å??é??ç??ç?£æ¸¬è¨ªå??次 -æ?¸ï¼? `min-acc` å?? `max-acc` ï¼?ï¼?å??å??年齡ç??è??å??å??é??æ?¸ï¼? `min-age` å?? `max-age` ï¼?é?½è¢«æ??å®?ã?? -è«?注æ??ï¼?é??äº?ç¯?å??æ?¯å°?é??å??é??ã?? - -å??ä½? -~~~~ - -``<action>`` æ?¯ä¸?å??é ?å®?義ç??å?§å?管ç??å??ä½?ç??æ?´æ?¸ï¼?DAMONå°?æ??ç?¨æ?¼å?·æ??ç?®æ¨?訪å??模å¼?ç??å??å??ã??æ?¯æ?? -ç??æ?¸å?å??å®?å??ç??å?«ç¾©å¦?ä¸?:: - - - 0: Call ``madvise()`` for the region with ``MADV_WILLNEED`` - - 1: Call ``madvise()`` for the region with ``MADV_COLD`` - - 2: Call ``madvise()`` for the region with ``MADV_PAGEOUT`` - - 3: Call ``madvise()`` for the region with ``MADV_HUGEPAGE`` - - 4: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE`` - - 5: Do nothing but count the statistics - -é??é¡? -~~~~ - -æ¯?å?? ``å??ä½?`` ç??æ??ä½³ ``ç?®æ¨?訪å??模å¼?`` å??決æ?¼å·¥ä½?è² è¼?ï¼?æ??以ä¸?容æ??æ?¾å?°ã??æ?´ç³?ç³?ç??æ?¯ï¼?å°?æ??å?? -å??ä½?ç??æ?¹æ¡?è¨ç½®å¾?é??æ?¼æ¿?é?²æ??å°?è?´å?´é??ç??é??é?·ã??ç?²äº?é?¿å??é??種é??é?·ï¼?ç?¨æ?¶å?¯ä»¥é??é??ä¸?é?¢è¡¨æ ¼ä¸ç?? ``<quota>`` -ä¾?é??å?¶æ?¹æ¡?ç??æ??é??å??大å°?é??é¡?:: - - <ms> <sz> <reset interval> <priority weights> - -é??使å¾?DAMONå?¨ ``<reset interval>`` 毫ç§?å?§ï¼?å??é??å?ªç?¨ ``<ms>`` 毫ç§?ç??æ??é??å°? ``ç?®æ¨?訪 -å??模å¼?`` ç??å?§å?å??å??æ??ç?¨å??ä½?ï¼?並å?¨ ``<reset interval>`` å?§å?ªå°?æ??å¤?<sz>å?ç¯?ç??å?§å?å??å??æ?? -ç?¨å??ä½?ã??å°? ``<ms>`` å?? ``<sz>`` é?½è¨ç½®ç?²é?¶ï¼?å?¯ä»¥ç¦?ç?¨é??é¡?é??å?¶ã?? - -ç?¶é ?è¨?è¶?é??é??é¡?é??å?¶æ??ï¼?DAMONæ??æ ¹æ?? ``ç?®æ¨?訪å??模å¼?`` ç??大å°?ã??訪å??é »ç??å??年齡ï¼?å°?ç?¼ç?¾ç??å?§å? -å??å??é?²è¡?å?ªå??æ??åº?ã??ç?²äº?實ç?¾å??æ?§å??ç??å?ªå??ç´?ï¼?ç?¨æ?¶å?¯ä»¥å?¨ ``<å?ªå??ç´?æ¬?é??>`` ä¸è¨ç½®é??ä¸?å??屬æ?§ç?? -æ¬?é??ï¼?å?·é«?å½¢å¼?å¦?ä¸?:: - - <size weight> <access frequency weight> <age weight> - -æ°´ä½? -~~~~ - -æ??äº?æ?¹æ¡?é??è¦?æ ¹æ??系統ç?¹å®?æ??æ¨?ç??ç?¶å??å?¼ä¾?é??è¡?ï¼?å¦?è?ªç?±å?§å?æ¯?ç??ã??å°?æ?¼é??種æ??æ³?ï¼?ç?¨æ?¶å?¯ä»¥ç?²è©²æ¢? -件æ??å®?æ°´ä½?ã??:: - - <metric> <check interval> <high mark> <middle mark> <low mark> - -``<metric>`` æ?¯ä¸?å??é ?å®?義ç??æ?´æ?¸ï¼?ç?¨æ?¼è¦?檢æ?¥ç??度é??ã??æ?¯æ??ç??æ?¸å?å??å®?å??ç??å?«ç¾©å¦?ä¸?ã?? - - - 0: 忽è¦?æ°´ä½? - - 1: 系統空é??å?§å?ç?? (å??å??æ¯?) - -æ¯?é?? ``<檢æ?¥é??é??>`` å¾®ç§?檢æ?¥ä¸?次å?¬å?¶ç??å?¼ã?? - -å¦?æ??該å?¼é«?æ?¼ ``<é«?æ¨?>`` æ??ä½?æ?¼ ``<ä½?æ¨?>`` ï¼?該æ?¹æ¡?被å??ç?¨ã??å¦?æ??該å?¼ä½?æ?¼ ``<ä¸æ¨?>`` ï¼? -該æ?¹æ¡?å°?被æ¿?æ´»ã?? - -çµ±è¨?æ?¸æ?? -~~~~~~~~ - -å®?é??çµ±è¨?æ¯?å??æ?¹æ¡?被å??試æ??ç?¨ç??å??å??ç??總æ?¸é??å??å?ç¯?æ?¸ï¼?æ¯?å??æ?¹æ¡?被æ??å??æ??ç?¨ç??å??å??ç??å?©å??æ?¸é??ï¼?以 -å??è¶?é??é??é¡?é??å?¶ç??總æ?¸é??ã??é??äº?çµ±è¨?æ?¸æ??å?¯ç?¨æ?¼å?¨ç·?å??æ??æ??調æ?´æ?¹æ¡?ã?? - -çµ±è¨?æ?¸æ??å?¯ä»¥é??é??è®?å??æ?¹æ¡?æ??件ä¾?顯示ã??è®?å??該æ??件å°?é¡¯ç¤ºä½ å?¨æ¯?ä¸?è¡?ä¸è¼¸å?¥ç??æ¯?å?? ``æ?¹æ¡?`` ï¼? -çµ±è¨?ç??äº?å??æ?¸å?å°?被å? å?¨æ¯?ä¸?è¡?ç??æ?«å°¾ã?? - -ä¾?å? -~~~~ - -ä¸?é?¢ç??å?½ä»¤æ??ç?¨äº?ä¸?å??æ?¹æ¡?ï¼?â??å¦?æ??ä¸?å??大å°?ç?²[4KiB, 8KiB]ç??å?§å?å??å??å?¨[10, 20]ç??è??å??æ??é?? -é??é??å?§é¡¯ç¤ºå?ºæ¯?ä¸?å??è??å??æ??é??é??é??[0, 5]ç??訪å??é??ï¼?è«?å??é ?å?ºè©²å??å??ã??å°?æ?¼å??é ?ï¼?æ¯?ç§?æ??å¤?é?»è?½ä½¿ -ç?¨10msï¼?è??ä¸?æ¯?ç§?å??é ?ä¸?è?½è¶?é??1GiBã??å?¨é??ä¸?é??å?¶ä¸?ï¼?é¦?å??å??é ?å?ºå?·æ??è¼?é?·å¹´é½¡ç??å?§å?å??å??ã??å?¦å¤?ï¼? -æ¯?5ç§?é??檢æ?¥ä¸?次系統ç??å?¯ç?¨å?§å?ç??ï¼?ç?¶å?¯ç?¨å?§å?ç??ä½?æ?¼50%æ??é??å§?ç?£æ¸¬å??å??é ?ï¼?ä½?å¦?æ??å?¯ç?¨å?§å?ç?? -大æ?¼60%ï¼?æ??ä½?æ?¼30%ï¼?å??å??æ¢ç?£æ¸¬â??:: - - # cd <debugfs>/damon - # scheme="4096 8192 0 5 10 20 2" # target access pattern and action - # scheme+=" 10 $((1024*1024*1024)) 1000" # quotas - # scheme+=" 0 0 100" # prioritization weights - # scheme+=" 1 5000000 600 500 300" # watermarks - # echo "$scheme" > schemes - - -é??é?? ----- - -é?¤é??ä½ æ??確å?°å??å??ç?£æ¸¬ï¼?å?¦å??å¦?ä¸?æ??è¿°ç??æ??件è¨ç½®ä¸?æ??ç?¢ç??æ??æ??ã??ä½ å?¯ä»¥é??é??寫å?¥å??è®?å?? ``monitor_on_DEPRECATED`` -æ??件ä¾?å??å??ã??å??æ¢å??檢æ?¥ç?£æ¸¬ç??ç?¶å??ç??æ??ã??寫å?¥ ``on`` 該æ??件å?¯ä»¥å??å??å°?æ??屬æ?§ç??ç?®æ¨?ç??ç?£æ¸¬ã??寫å?¥ -``off`` 該æ??件å??å??æ¢é??äº?ç?®æ¨?ã??å¦?æ??æ¯?å??ç?®æ¨?é?²ç¨?被çµ?æ¢ï¼?DAMONä¹?æ??å??æ¢ã??ä¸?é?¢ç??示ä¾?å?½ä»¤é??å??ã??é?? -é??å??檢æ?¥DAMONç??ç??æ??:: - - # cd <debugfs>/damon - # echo on > monitor_on_DEPRECATED - # echo off > monitor_on_DEPRECATED - # cat monitor_on_DEPRECATED - off - -è«?注æ??ï¼?ç?¶ç?£æ¸¬é??å??æ??ï¼?ä½ ä¸?è?½å¯«å?°ä¸?è¿°ç??debugfsæ??件ã??å¦?æ??ä½ å?¨DAMONé??è¡?æ??寫å?°é??äº?æ??件ï¼?å°?æ??è¿? -å??ä¸?å??é?¯èª¤ä»£ç¢¼ï¼?å¦? ``-EBUSY`` ã?? - - -ç?£æ¸¬ç·?ç¨?PID ------------ - -DAMONé??é??ä¸?å??å?«å??kdamondç??å?§æ ¸ç·?ç¨?ä¾?é?²è¡?è«?æ±?ç?£æ¸¬ã??ä½ å?¯ä»¥é??é??è®?å?? ``kdamond_pid`` æ??件ç?² -å¾?該ç·?ç¨?ç?? ``pid`` ã??ç?¶ç?£æ¸¬è¢« ``é??é??`` æ??ï¼?è®?å??該æ??件ä¸?æ??è¿?å??ä»»ä½?ä¿¡æ?¯:: - - # cd <debugfs>/damon - # cat monitor_on_DEPRECATED - off - # cat kdamond_pid - none - # echo on > monitor_on_DEPRECATED - # cat kdamond_pid - 18594 - - -使ç?¨å¤?å??ç?£æ¸¬ç·?ç¨? ----------------- - -æ¯?å??ç?£æ¸¬ä¸?ä¸?æ??é?½æ??å?µå»ºä¸?å?? ``kdamond`` ç·?ç¨?ã??ä½ å?¯ä»¥ä½¿ç?¨ ``mk_contexts`` å?? ``rm_contexts`` -æ??件ç?²å¤?å?? ``kdamond`` é??è¦?ç??ç?¨ä¾?å?µå»ºå??å?ªé?¤ç?£æ¸¬ä¸?ä¸?æ??ã?? - -å°?æ?°ä¸?ä¸?æ??ç??å??稱寫å?¥ ``mk_contexts`` æ??件ï¼?å?¨ ``DAMON debugfs`` ç?®é??ä¸?å?µå»ºä¸?å??該å??稱ç??ç?®é??ã?? -該ç?®é??å°?æ??該ä¸?ä¸?æ??ç?? ``DAMON debugfs`` æ??件:: - - # cd <debugfs>/damon - # ls foo - # ls: cannot access 'foo': No such file or directory - # echo foo > mk_contexts - # ls foo - # attrs init_regions kdamond_pid schemes target_ids - -å¦?æ??ä¸?å??é??è¦?ä¸?ä¸?æ??ï¼?ä½ å?¯ä»¥é??é??æ??ä¸?ä¸?æ??ç??å??å?æ?¾å?° ``rm_contexts`` æ??件ä¸ä¾?å?ªé?¤å®?å??ç?¸æ??ç??ç?®é??:: - - # echo foo > rm_contexts - # ls foo - # ls: cannot access 'foo': No such file or directory - -注æ??ï¼? ``mk_contexts`` ã?? ``rm_contexts`` å?? ``monitor_on_DEPRECATED`` æ??件å?ªå?¨æ ¹ç?®é??ä¸?ã?? - ç?£æ¸¬çµ?æ??ç??ç?£æ¸¬é»? ================ _ Patches currently in -mm which might be from sj@xxxxxxxxxx are docs-mm-damon-design-add-monitoring-parameters-tuning-guide.patch docs-mm-damon-add-an-example-monitoring-intervals-tuning.patch docs-admin-guide-mm-damon-usage-fix-and-add-missing-damos-filter-sysfs-files-on-files-hierarchy.patch docs-admin-guide-mm-damon-start-update-snapshot-example.patch mm-damon-explain-effective-quota-on-kernel-doc-comment.patch