From patchwork Mon Jul 1 19:26:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718586 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2AE2CC2BD09 for ; Mon, 1 Jul 2024 19:27:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 11B496B00B0; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 006286B00B1; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D9E966B00B2; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 841AA6B00B0 for ; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 332141A1486 for ; Mon, 1 Jul 2024 19:27:18 +0000 (UTC) X-FDA: 82292167356.15.7857D34 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf10.hostedemail.com (Postfix) with ESMTP id 25773C001C for ; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=OIXekkpC; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862020; a=rsa-sha256; cv=none; b=LxomyZd7aXklpdxy7npdLrZnxK0/ul0zOG9zb6vIjMPd43V1e6udOQK4q7DieTsLO360P2 0k54NbWpoMS9s2cj1Khc+dDkc9ZZ+ZVSJvGkktlvY2LD84zmmkyIqFPip9trSSKGcZJcQo u/hFxuZsUY31AoH4+hGBGHmCQCToMG8= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=OIXekkpC; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862020; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8ttxs3vsPO0hHfOsl9Un4HOBtyUVKxKNn7pyyw3FnXk=; b=oN8Sa1ADxB+1c++tyqkbYCjDtaXGAB0AnYN4Tfz64NRN4/K7nwKbfwUwRhETP9+1en9ghx XgRtEeQQo2Sq3/GaJF91ZxUaZI3GQ2kwnLgZ6CHm9Z0/BIq6X1aBgWmYTsoVshCTmJk8D6 0q2Yho3el7gPJloDzjRPTeHG+FPPtK8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id AB8BACE1ACE; Mon, 1 Jul 2024 19:27:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81E2AC4AF0A; Mon, 1 Jul 2024 19:27:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862032; bh=QYtOsoHg40YEBAD6vy86pU8pE6QF4gmCEDYVeoDEr90=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OIXekkpClCpeAyF/agJ4pi4kJcklJISQ3HTbSRrR/nQKlhbKVw33QHjyTWCFKL/rg joC6RuKMtx5R24WQe3yhGAFj4TLqxXJK7uwQLDlz+wNNLY+BJ94OaK3oW74hWjnN4f BByybX1lYAV7PayI5RTe6Uppm1AOLrMiG7mzczUqLIzioPz1RldLSV99Bl7Zu+A2FA DTaiOCPOwMPG1KHskLGBjubQ9V+gA85MR/dBwjvCWYWKpK404Jx5F5j0LiMYnHQ8bs 7nEKrTL8L14bVCL8/h0csDnA7vcu3N05hxdcqWOv9dfk4EJPUn8po6Umh4r1LO4Tce 3T62d3lH3fwcA== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/9] Docs/mm/damon/design: fix two typos Date: Mon, 1 Jul 2024 12:26:58 -0700 Message-Id: <20240701192706.51415-2-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 25773C001C X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: j1663if9t7tan4zik3j31sgbemdkysw1 X-HE-Tag: 1719862035-989338 X-HE-Meta: U2FsdGVkX19rge9c3HcJCBmTZi+4s8s4rPGNXr45zwrNbqhZlv+3PEl9XIdt2gIFNoBPpYmp8drTYDsxeeJGAEpamFA6sqm0c4rdcQmPf0AJXzHFkh8snC37tJJIyjD0pHglal+cFCPKK7kdFgdxakwKR8JBw7msErDS4Cyk2/GgbZSwoxyYcV46TU3cxedaNI+ZO6fg8wRjc6sC/axLoWBiyBTKzABA06pjDXfSWwqWNcOjAh+GPuv2hegBkxya9K31KHmSv/iO5H7Px/6ANdG4ZuKK42H4Uuzr2LGq4OtZzWr3V1OFohEsUsj48S55vzEpJoSY71PLwFx5zfjyGn/DK28Bi/AU+L4LDMtgM6CepnOHzenT98Y4ys3/7rK2sPzG7BUQJVQ1kHFo80Ak0hTHNOVmz4Vx00GkKeK0vHA7ymP73vjEAF2uVfUy0sMQ1XCdt4XPj5nC2DjeH4ZIZdgiNiKJWcU3IDyMRUzXeh8PlzUQgwmiG9E4nXXWO8kIbImfr+iL+KBt34b27nNdF8Wc4KLQDc4euGEHcpMCiQBaKNMVcYnS5d+uPWETRpyWOIhknD7CtOaIiInKktJssd6nLn922LUP17cs2zn2nuXJiNuoKP0v7cvgAyG9rB9JWRPnWs8NZrvzudDXTUz9soSzyqm3LQAGjqUwDlVlfHZ2xqVyrPpI6561paLEVAjuHmnCNia00HTfse36cZ5ffyPh6MR4qtT13go6aO4bLRlpER2kAcwlLC4JwtGe+bQ3UiBDl5HZkqf7y3n77DVAwmHST0ujAa1AhJCWBbVkssS9rofu8+BibVKdLgZMSuZesFqto5LAg6y1KgJnY+jusN4Vn8VD267fbIX3o3mL7DaLJhHYSyo75O28RlML6KC4PIgxGKKWKlJvxGtXjnKLI3YsAB1/qa4ohtFM3hi7P4bTOqXI4nAQ/r2aO/eRDsVVYPEE3Jji6OYVGHUpcvk /86TFgan BFADI76/Rql59pzhQJhw5JmeiEv2F43Dz8+DmERoooMESV3FhGQdn3qaDeW4crFwaNaGT6iq/23wVCpJoWLSQ/FmYy5SsMiiIFsUBFTMAdmR/NbF19tt3yNaQADIhB/0csnNqdEv+jODC35TkKRVSu9lPOKfPIImZSCFj/H0/VOCPjqfR5yH87gzRjuXhbJvng0D4IRCxISEKVe1dKnAk0OqsfphP61baph3ulAUJ8aewAR0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Fix two typos. The first one is just a simple typo: s/accurach/accuracy/ The second one is made by the author being out of their mind. 'Region Based Sampling' section of the doc is mistakenly calling the access frequency counter of region as 'nr_regions'. Fix it with the correct name, 'nr_accesses'. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 3f12c884eb3a..6beb245cbb62 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -25,7 +25,7 @@ DAMON subsystem is configured with three layers including - Operations Set: Implements fundamental operations for DAMON that depends on the given monitoring target address-space and available set of software/hardware primitives, -- Core: Implements core logics including monitoring overhead/accurach control +- Core: Implements core logics including monitoring overhead/accuracy control and access-aware system operations on top of the operations set layer, and - Modules: Implements kernel modules for various purposes that provides interfaces for the user space, on top of the core layer. @@ -192,7 +192,7 @@ one page in the region is required to be checked. Thus, for each ``sampling interval``, DAMON randomly picks one page in each region, waits for one ``sampling interval``, checks whether the page is accessed meanwhile, and increases the access frequency counter of the region if so. The counter is -called ``nr_regions`` of the region. Therefore, the monitoring overhead is +called ``nr_accesses`` of the region. Therefore, the monitoring overhead is controllable by setting the number of regions. DAMON allows users to set the minimum and the maximum number of regions for the trade-off. From patchwork Mon Jul 1 19:26:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718582 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D3ECC2BD09 for ; Mon, 1 Jul 2024 19:27:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0A4B66B0098; Mon, 1 Jul 2024 15:27:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 02DA76B00A3; Mon, 1 Jul 2024 15:27:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E0FC06B00A5; Mon, 1 Jul 2024 15:27:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C2FD76B0098 for ; Mon, 1 Jul 2024 15:27:15 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7483AA4201 for ; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) X-FDA: 82292167230.13.13C6288 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf30.hostedemail.com (Postfix) with ESMTP id D80C480017 for ; Mon, 1 Jul 2024 19:27:13 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="iJmT4/Kt"; spf=pass (imf30.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862011; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+A1OILW0p0QK58mHsj+s6NFrkZQDq088XKHV9Y+GZc4=; b=iGc9Ezxd5g/qfVfA5nLDEiF9gxkA2XZ/jAte5hmQeD8iLrhx2OLYoHQO3Okg9YK5kQvsjm Y8iUfepNP2oU/L64mcMdBUWLd7d45T2rygQ2qrvurGehq3PqB6NpyKDqlXVjASmEuJE3wM Mk/PhbNwQNaJCBynML0B1CRuweA+GNk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862011; a=rsa-sha256; cv=none; b=RBBe7cCFRkeWu1tZJsdenPXvYyecBQhrHFagbdNjuKZNphsUf6yJcIXEv7dA9FvzqzhVLn kVBn2vfXcR2US111q0fTKYtwT1KS7NwB/CuyH0JfPimYbtXiLiXeSV/o1/z1h0zX+hcfhV QgPTQtYqR6lUKQ8lhhCoiuGgug6mmkc= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="iJmT4/Kt"; spf=pass (imf30.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id EC9CE61788; Mon, 1 Jul 2024 19:27:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 39829C32781; Mon, 1 Jul 2024 19:27:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862032; bh=CGsIJNsF93bpCTcotGBiz8ijvYyjlCry6EOyClMIOWE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iJmT4/KtExB1HchWvnqk0eBGAY7JJ7M88fEa6i1fAJPIiGKiejAY8ZPPmGCVMVd2a OWPDvZcD2QLnNIDMnqfH6mKpV7KDeAcu/3K8SJQKAJacI5VfXhghHEeRxJyoDmY7HK ufZQ9v2jitu9+6wlWtOTLHiKt1tV1YT5HAqxBn/j08M0tKlbgkTtMZ5JFs5Qvx4Zqz HYjrihwz2dO1oQIrhZts9riSaCpD6GHTnBU7j4GHxmsVM+NNIP17Ymot8b+8MuEUkF DMVElL3f517SFfSiwomSENdfObwdpxtUHU9Ta0FXm1Hd2qJzH6/Y6PbGZXAi8uSbcU yoZXSguI6zdCQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/9] Docs/mm/damon/design: clarify regions merging operation Date: Mon, 1 Jul 2024 12:26:59 -0700 Message-Id: <20240701192706.51415-3-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: zca598bup9w55abr9noyy9iwdato4hcd X-Rspamd-Queue-Id: D80C480017 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719862033-126106 X-HE-Meta: U2FsdGVkX19g7usfBYSo4xSO9h/IIlY/xMyqVDPdkdo/w6WOHUroCgcycjkQzsy2lVUh9gFsGE+J4I+V6HU3lVqmVGaZYXB7NRJRGZkUi2nZY3osOkRLh6LFYNnwiPcXfIbQIHb30/UKB42qIGinsQoBJQeLefsS/cI0YzVwIt3nrMh34xklpIxdCuQKWUtRa7Ipfq4TTy9EZzX8dBewZHAU1vdfK9hZYYMadp7xHsAeCkW8kbeOlriBys05dCs2Izl2sj5jJkQflCiobJF2oo0lfiWLDBXOhDRF9JyNjbI7yObpyn13NSkPeIaqU4rZGNL0AVhaa4KQBe/wBVKASVYMXOzEMuIH0imfc5Mr1KVJlJrPftbGTJd1OvqVrYUC/79cKtIQWJaF6XUqg8twzqzyI5lkYlEAF5IuNkJt+swLDP5bcTnWaKiV8ljDA4BZV978B6mMoimIzOKaBfUzviKCIO5FStlfjKjEa0S3hiXQedOUMdMq0xSVa8cG6va/0i2BYHdz0pAxHhGSwMbwWGC9HYk5X7yxoww275Wci73IC6qtN3SSq4HP91vpSrd/8PNET4g9EKSFupdu64M8wwfqJR1QrsiupBhhWo/OZJFvGITTHpd4ItrUbmmNtz/EJMQF4y3306Vrf0lGJ6XH/CpM3jhRfk2FkFlpYJhDb4fzrQ6JQauDDZrPsqTkpZSebHL7NC4f4MQkC2ko7Bpql9aF7qBNe1JIJFkEowOOBm6RaOwv01N2pTLUyYOvP9CpyZcpZjriIn5IeC8zG/+32SfYNCZGHpEHImd7qmkcCVaKQSYZlg4s3/R9ppu7QsrmbhpuGP34Ha1n0nZ9Q0z1emR9Ik/3TEt4GyqOS6AlG5+H+PdvQz4dg2FAk7Q32oX5cKPS/ndT9teRYCXa5xitLPtLAoBQmYbydwHakrPxu0KdbpkG3ij/Q7bOqrsv5h5NrJe3/SRwv+C8IDSUo73 0PW5Rt7v ZP0HmsLNSm+8EoZ0XEUB6lQ8xdu5O4XQ2N33raJq8gxL22TMkFA5cEE9RfrNA0m2pYvgEWtFqfL6GZjvP6v77A9EvMYxv/T9qBZRYQ7bSKMGsmiUFMTIDHxH2BTgPwJH6Czf+0lI7v4S2r1mfTmHJmaeuJ3ml3+7VTo01AiizSZp30xUpUl1Aux0Lo+tL8NqwVNoWbFtLS8tm4LibmATSboiuC1f/OonIQftwAwDp6CT2F90= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DAMON design document is not explaining how min_nr_regions limit is kept, and what happens if the number of regions exceeds max_nr_regions. Add more clarification for those. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 6beb245cbb62..fe08a3796e60 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -209,11 +209,18 @@ the data access pattern can be dynamically changed. This will result in low monitoring quality. To keep the assumption as much as possible, DAMON adaptively merges and splits each region based on their access frequency. -For each ``aggregation interval``, it compares the access frequencies of -adjacent regions and merges those if the frequency difference is small. Then, -after it reports and clears the aggregated access frequency of each region, it -splits each region into two or three regions if the total number of regions -will not exceed the user-specified maximum number of regions after the split. +For each ``aggregation interval``, it compares the access frequencies +(``nr_accesses``) of adjacent regions. If the difference is small, and if the +sum of the two regions' sizes is smaller than the size of total regions divided +by the ``minimum number of regions``, DAMON merges the two regions. If the +resulting number of total regions is still higher than ``maximum number of +regions``, it repeats the merging with increasing access frequenceis difference +threshold until the upper-limit of the number of regions is met, or the +threshold becomes higher than possible maximum value (``aggregation interval`` +divided by ``sampling interval``). Then, after it reports and clears the +aggregated access frequency of each region, it splits each region into two or +three regions if the total number of regions will not exceed the user-specified +maximum number of regions after the split. In this way, DAMON provides its best-effort quality and minimal overhead while keeping the bounds users set for their trade-off. From patchwork Mon Jul 1 19:27:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718583 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 76F95C3065B for ; Mon, 1 Jul 2024 19:27:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED5936B00A3; Mon, 1 Jul 2024 15:27:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E37DD6B00A5; Mon, 1 Jul 2024 15:27:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C3E176B00AD; Mon, 1 Jul 2024 15:27:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9CB956B00A3 for ; Mon, 1 Jul 2024 15:27:16 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4A1B3C1BB1 for ; Mon, 1 Jul 2024 19:27:16 +0000 (UTC) X-FDA: 82292167272.04.39C9B8F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id 7D9504001D for ; Mon, 1 Jul 2024 19:27:14 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=O+nK9tiY; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862023; a=rsa-sha256; cv=none; b=ZritvoerJCuyVd+gaBn6V+xEGfb9+nGTd0tl8/TVw6JbzDVJtANPY7lYT8+IiU+b/D62j5 ZWFXCaLm75b/FazoHsfDDTPISY58KZ+4xSG3EdHd3YsDMTRUvHgFQsCxMLXGaFbl6a3xeM 865m90kCtcZ2OT9zmxLbyb0rLlPs3qE= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=O+nK9tiY; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862023; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0jdBgm8UA8l4RzomdXPKBVBMy5//g7BGaFqHMjVjGLI=; b=PZHdRul9QujaWa1H9fNHQl24bfTspemf3URfKyrm5yVILkC7K3SWQ4D4Ws/amTPyXbrQdg lWJUYJ+cA6j+V8dN74hW//84fwiLKCEvIyFbpebdVT0dAKgBmrVi39xOCqjO+wGQbYyD6C FaGVgTMs7Hg/7brbIUd1pAiMmhgqTrs= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id A46F961783; Mon, 1 Jul 2024 19:27:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E5AC5C4AF0A; Mon, 1 Jul 2024 19:27:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862033; bh=xIHZ0L/qw5eQQs5fbReQPpk6P9pGxGMQqK3yOrF7MWg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=O+nK9tiYcgMpX53+AWbsywu8xs749rQaWCssGXzuDSadnTFeYIMlrXu0ew3T9dogi IkTIfMtrF4gwrS8lz31uYJoiseCCJZBN6IK42mV5Ps+naC34CloIetMhyW+IIW0Tzm a3kLjxoOisBw1iI+iRFYDLkTJ9sfD7S87UQtjomfKCfkGG2nQKLRtrEbXiCK4xBjNB OxX6IPFsLg/kxTSojMTgp7r4eDXpkwob7xOWZAfAWVb9R2EKvi3clvf/8ukmnI4FaX /62gWPAvoqSIs4yka7Lz/BmMO2EbhNhKKwygKrTXIXoPsFmunFbrhZahPo/WoEyVKy clgLU8P1HYwIA== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/9] Docs/admin-guide/mm/damon/start: add access pattern snapshot example Date: Mon, 1 Jul 2024 12:27:00 -0700 Message-Id: <20240701192706.51415-4-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: ewwaj9d6467dobziquzt1x5j1yo7yqom X-Rspamd-Queue-Id: 7D9504001D X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1719862034-722192 X-HE-Meta: U2FsdGVkX1/XlHj32mEWbmD20YnlTMHGsQ2knoHP1t4Nd9sAiMMBZbBCOgBLCIDTLYEgpzMHdUHOOyXOGQqts+IScZkb1LhA9hs749iK99nNK4kmV04sj9LETMusTJu0+p8LOCAEus6CW/ihvLZd1uhomhxLVtmLhEqqJTxyYfFdGRHJbrcEtJyuCG9uz04McUJ98XLwuHlUvBKk/cDHPhOPQCgArmAVNRPlCt9DxdFd7F1RHvhvCJTM8hk19rHHAUb4plZfLgCmlcQxFbAb8MkuZg0N2DeXRx8oox5f20jHklZ5fjNlaFA9U4mSrxXKx9p4yjULN1gBPRdxIjw7HMlViG1//SdghYK0lNVk6Ck9dZs0EtLX9xKmXUgIxIJ4ACx7ge7RB0xFtsKnuTTaWMQINdnlzERHgZBpn8tsiD0ZfqWtixCPqw8NqFzJYhqmxdh0/vQh4v+ZNoqvUOgPutbf6kZVq7IPA+1MIIms7M2tEN+ska/JZpId1pH5G8VjFHdjlmEHcJ3OF/YXNKEST7gHJ87Rs5ZYfliJC21GBHS2/s3nvvtk9tlHg9E65fGBEkAvVccIRb2CSv09AHUesoRY6e6CJ+xRnX5ugfrnlY/HBYYe4CH8zq30F/bBOhzH1lkcHxorM0m0pODhlU+B8sLEwDkDFvGtlLpil/GOV+tUwuaz8eIqSSJ4zeLob20v35/7vNIny6YlKRN0OYMrDmS9Z2dhs3sWKH4lQIax/hzMztsLqhQmvBQUMchszwm2ivPFapN4swDD+POS/v5fiIL/5subutqQ3rfmllbOBWArcnNBdOpwKrSXKgVhJ7K4I3l2MvQ71nXYU2KMyinC6UYSyxpPGHSz54gc5MO1Y0I8Lwt0WS1k1Wy0ostBC4c3JhwbyZD1fsXg7QgBYsCtIWRHwe/eCJYLrAlznHL1gtyd4y/tunser8GMn2V6SixrCDGqorQhAYrtA3Jszwm FhU4gJ/a S7KOhTcrOE1M18zZJY7X68PEDHkSQAPUqvZugLZC0oyOdQt58eZRudK1jSEW9IK9WBXGst4e6Wh4VKKVEZzvp+Tu7OPOA030mQmNYNybAIJnUN8zEVlrSddBfaExsXKLVhlfwKIpREv/6BB9kR2gpwYH//54MLUNl14nQ079Nx5NmPNLabuL81IsMmBkIxhkiPb997/Vsg1X8fpuMWOk3Nkyf8y/BnvprD7Agi7tSlXopa5OtkHCsTLISDqbP+70VQEaV X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DAMON user-space tool (damo) provides access pattern snapshot feature, which is expected to be frequently used for real time access pattern analysis. The snapshot output is also showing what DAMON provides on its own, including the 'age' information. In contrast, the recorded access patterns, which is shown as an example usage on the quick start section, shows what users can make from what DAMON provided. It includes information that generated outside of DAMON and makes the 'age' concept bit unclear. Hence snapshot output is easier at understanding the raw realtime output of DAMON. Add the snapshot usage example on the quick start section. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/start.rst | 46 ++++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/Documentation/admin-guide/mm/damon/start.rst b/Documentation/admin-guide/mm/damon/start.rst index 7aa0071ff1c3..054010a7f3d8 100644 --- a/Documentation/admin-guide/mm/damon/start.rst +++ b/Documentation/admin-guide/mm/damon/start.rst @@ -34,18 +34,56 @@ detail) of DAMON, you should ensure :doc:`sysfs ` is mounted. +Snapshot Data Access Patterns +============================= + +The commands below show the memory access pattern of a program at the moment of +the execution. :: + + $ git clone https://github.com/sjp38/masim; cd masim; make + $ sudo damo start "./masim ./configs/stairs.cfg --quiet" + $ sudo ./damo show + 0 addr [85.541 TiB , 85.541 TiB ) (57.707 MiB ) access 0 % age 10.400 s + 1 addr [85.541 TiB , 85.542 TiB ) (413.285 MiB) access 0 % age 11.400 s + 2 addr [127.649 TiB , 127.649 TiB) (57.500 MiB ) access 0 % age 1.600 s + 3 addr [127.649 TiB , 127.649 TiB) (32.500 MiB ) access 0 % age 500 ms + 4 addr [127.649 TiB , 127.649 TiB) (9.535 MiB ) access 100 % age 300 ms + 5 addr [127.649 TiB , 127.649 TiB) (8.000 KiB ) access 60 % age 0 ns + 6 addr [127.649 TiB , 127.649 TiB) (6.926 MiB ) access 0 % age 1 s + 7 addr [127.998 TiB , 127.998 TiB) (120.000 KiB) access 0 % age 11.100 s + 8 addr [127.998 TiB , 127.998 TiB) (8.000 KiB ) access 40 % age 100 ms + 9 addr [127.998 TiB , 127.998 TiB) (4.000 KiB ) access 0 % age 11 s + total size: 577.590 MiB + $ sudo ./damo stop + +The first command of the above example downloads and builds an artificial +memory access generator program called ``masim``. The second command asks DAMO +to execute the artificial generator process start via the given command and +make DAMON monitors the generator process. The third command retrieves the +current snapshot of the monitored access pattern of the process from DAMON and +shows the pattern in a human readable format. + +Each line of the output shows which virtual address range (``addr [XX, XX)``) +of the process is how frequently (``access XX %``) accessed for how long time +(``age XX``). For example, the fifth region of ~9 MiB size is being most +frequently accessed for last 300 milliseconds. Finally, the fourth command +stops DAMON. + +Note that DAMON can monitor not only virtual address spaces but multiple types +of address spaces including the physical address space. + + Recording Data Access Patterns ============================== The commands below record the memory access patterns of a program and save the monitoring results to a file. :: - $ git clone https://github.com/sjp38/masim - $ cd masim; make; ./masim ./configs/zigzag.cfg & + $ ./masim ./configs/zigzag.cfg & $ sudo damo record -o damon.data $(pidof masim) -The first two lines of the commands download an artificial memory access -generator program and run it in the background. The generator will repeatedly +The line of the commands run the artificial memory access +generator program again. The generator will repeatedly access two 100 MiB sized memory regions one by one. You can substitute this with your real workload. The last line asks ``damo`` to record the access pattern in the ``damon.data`` file. From patchwork Mon Jul 1 19:27:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718588 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C956C2BD09 for ; Mon, 1 Jul 2024 19:27:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 11D926B00B4; Mon, 1 Jul 2024 15:27:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A5986B00B5; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D79C46B00B6; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B4EF36B00B5 for ; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 56A9B410CA for ; Mon, 1 Jul 2024 19:27:19 +0000 (UTC) X-FDA: 82292167398.27.2A67ECD Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf19.hostedemail.com (Postfix) with ESMTP id 5E26A1A0008 for ; Mon, 1 Jul 2024 19:27:16 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="acEBW/Cf"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862013; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=460fOOV9VzOiiQsx1FOiAgYjZDCfOqJZvpe2TAHd9W4=; b=doZHd2KpGLDhqRPKSL8oGlS0TjzCIS9Wu1p3rKCsO47AnO6xyuQ5scvcsaeDZGmd0F9JO5 BIczZe7PTQaEw9+jz3VEoBwC8zMuAgwv58pAfgmlbMAoTUlQ44Ky4Yn+CXXiYVOIZx0Mox LJXarm/IW2BpRaXSRmOLZvIgqt2A1Ck= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862013; a=rsa-sha256; cv=none; b=iTmXAokQXoLGqsPFnzkUy2IILxVK9CCA6CatIQ4gdNhfxKO8SexZ8RZfGrxylckvJfUWAo MNKWN5rXAARBGRFsG/rGw7jv0yRI21J7bubpHZZ9gUjhpZEdencu70k8Bv1CcJNnjavaW9 W9u7wVr+iVjsGaQi7xEcy2XQFc5PjZQ= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="acEBW/Cf"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 87119CE1AC9; Mon, 1 Jul 2024 19:27:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AC91CC32786; Mon, 1 Jul 2024 19:27:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862034; bh=KZDwSh9p7bgKe4AljWzfhXg05QxoAGNbBrR/qAsRtMM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=acEBW/CfXYpxJ7Qs4Hki2GqyCzUUrPw4pqEv3Nlh57QhGTmKz28R5rbpX5MY2czmS q9DDEMMHeykfSZN5ecFSIgfCjSl8dMqFEawJFaG/X2Rx6omwQBB5WjyJB6jmvfaZhf vBg8NNBZijEK6ydJeaz7l7CgJyXoA/OF3cPuLhNrTf+Ioml4t7W/SsHyA0XiqZEqnu 8uQ/n/1WNwUKR2oGEji4eLpUyXjY92uWAdBU7b5ka9byhyJN/Pw+2ppDu/1R9GlcF9 v/kmZGNwOf62Pl3G8xNksQuc3hf3pcoHdh7Eg68z/t9/Ei9NrmTWc5vBBCNR3EXPVb qJf9xR92LDAbg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/9] Docs/mm/damon/design: add links from overall architecture to sections of details Date: Mon, 1 Jul 2024 12:27:01 -0700 Message-Id: <20240701192706.51415-5-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5E26A1A0008 X-Stat-Signature: bimuztxzz8ci3hijuf3m54kh4rueopyd X-Rspam-User: X-HE-Tag: 1719862036-537129 X-HE-Meta: U2FsdGVkX1+sqkOcWWSoSbMaA3iBBts1m3BTorzuNvexZuCCgV9fdTONbBd0gvPOBU0jQAEZs8D00rdCMrD3DZQs2KimIh4MZ7guqZFdrNWzjhlFJaaAMN0loRVexPtD4vONnJAkMEK3KHej7nDnpgG1XP5JDdSZpEs+6Pv1YrqVEPIPQIeiYz2Pmx3N+1FpEpZcYy+FVlMfuFydZiGIfaN04v6ElO+0h8O2zUY4/E4sKtsBjIT9sYd+46XfTMV2FY21PcXTlm/48rQH9SvNMqtiWc+FK1/o9kvIpbRwjGqOlcS7TukFl+OEsDh4dudWxXAb3ouLvc4Q3Bjd28YMSXK6HvMGcFKQ510ecVNFGeFaaHK0RjTg9poRcfHnnHD3i/mYliGmyvy/Z2txr4Q8YG4gczEs7Dla5I3xdCwaWgZqgTwaEmXgsV+H7o9WtpRxoSfFxZkjBOiwyF09O/Ac5tY/XFOhL6tZUtNLXNPXpHRPCr0IXakdB8uszPoF7ZSisgt22wTh9T/gy0A/UuenaPmCsTb69SCM4y+iJP+KJOj1WYWrZZlSw9tZojnnb4ZJT3YaV3D6OrI1yIFtOSTgQJoLpzwvHwkiaO0SAR5Sc3BMRPiTgjqGLcu72Du+AErs2a7gBkrQsdqbgXWa4qgQWBQ1DmOn4VmZeZHq6tppI4kvlzspvSCBcwSLGY2J8JIpDKnYqWglXod15+BYYAKyX/FqNAYXfeTTLAsY3hHl+p0Nyk5gWBHAO2sIyYE6nLO6cVBuqTBep0wSJyZf9Z/u4+keS5LSTu9942LVSxEtZnUGXsUyQpVYp7EoeUWt90HJx+ivpmHawbHpaigQkGil41l2DJ7pXBHpYMWV8BZIc93L3dG/iEd+BgzgZtVSMdAKpf7p94H+faW9jixyc9T4kz8rkRUGO67ijIByJcfeLhMyW10bQ/aKxLeu8V6T9HSbJkbQB6nOupBgWFLGHUH ooRPvbg8 6kDBtBRU922HpJtXh09oM0Bu2KrnNfobGO8cDvDgyghu+7KZULG8QPHVW9YENUc8QP4DfwYD46nFq2ENtx7ZweDqBNVZiomROEH+csKq67YiKI7QsswSjS5RDpCKlsaGL7V5nAsn2UcWe01AZND4UN++axBiodmWukUtCCjlRQKx86NKZO2/ialEW4JIKlOfRnH2sdgSv4H4iGtaSslckIJhXQF6f3tbuv3WL7F4biN08eDBvuAq88jCvmXUE5Id8lvR+e7b7LSURKWc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DAMON design document briefly explains the overall layers architecture first, and then provides detailed explanations of each layer with dedicated sections. Letting readers go directly to the detailed sections for specific layers could help easy browsing of the not-very-short document. Add links from the overall summary to the sections of details. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index fe08a3796e60..991839200f80 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -22,13 +22,15 @@ Overall Architecture DAMON subsystem is configured with three layers including -- Operations Set: Implements fundamental operations for DAMON that depends on - the given monitoring target address-space and available set of - software/hardware primitives, -- Core: Implements core logics including monitoring overhead/accuracy control - and access-aware system operations on top of the operations set layer, and -- Modules: Implements kernel modules for various purposes that provides - interfaces for the user space, on top of the core layer. +- :ref:`Operations Set `: Implements fundamental + operations for DAMON that depends on the given monitoring target + address-space and available set of software/hardware primitives, +- :ref:`Core `: Implements core logics including monitoring + overhead/accuracy control and access-aware system operations on top of the + operations set layer, and +- :ref:`Modules `: Implements kernel modules for various + purposes that provides interfaces for the user space, on top of the core + layer. .. _damon_design_configurable_operations_set: @@ -140,6 +142,8 @@ conflict with the reclaim logic using ``PG_idle`` and ``PG_young`` page flags, as Idle page tracking does. +.. _damon_core_logic: + Core Logics =========== @@ -512,6 +516,8 @@ interface, namely ``include/linux/damon.h``. Please refer to the API :doc:`document ` for details of the interface. +.. _damon_modules: + Modules ======= From patchwork Mon Jul 1 19:27:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718584 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F428C2BD09 for ; Mon, 1 Jul 2024 19:27:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F9E16B00AE; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7593D6B00AF; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51F5C6B00B1; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 141166B00AE for ; Mon, 1 Jul 2024 15:27:18 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 80D75413DC for ; Mon, 1 Jul 2024 19:27:17 +0000 (UTC) X-FDA: 82292167314.18.3304F3F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf16.hostedemail.com (Postfix) with ESMTP id D8354180016 for ; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=SqTrsWas; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf16.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862011; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=F0OyRXQAfKLH+bsC+1nV7hvoxzwTzIpnmYG8prKMxZU=; b=uMlRhWCLajtLgRUWFnhPl5mqSrq/JomgEcP7Sc6FEBD9Y3V/EsztbHqZiINNWbrij7tsH0 nttWwYfyAiR2nSYv0nBd+d0riEKATl5RAHdPkEa49YJpmg5b9UwfFBXUaloylYeCrUslK6 NocADGfAgCuTS8Kir7q3+b6oiTgl+3c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862011; a=rsa-sha256; cv=none; b=ug+jIw4ou88ORfFspoO2B2U6Mr/r9nVR5UNU5PAiNMYR+0U742TqfxKPQDzHl6uy8rr0Bh qKyVTvuTZTHXoZmoiFGK/Op1G2DhEG0/ExWShnxaEkgVGukIEjf67cotRTXkPNF/hXzUOW L6pIF65H3O5goUbEnbst3KSb52dgn40= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=SqTrsWas; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf16.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 15A6961791; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 65E82C4AF0F; Mon, 1 Jul 2024 19:27:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862034; bh=rJ3ulbTwJLxSK96iYt4sNzwcCfFFXn8buJECo4dQpTY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SqTrsWasCO9YZQkdSM3QfYQxJG7JeXh+GPBfrnWwYuEEdvLsLiSebNb3Vh4KqQSq/ 9qow/oTaq2r0k/ubIKn3M0y2bStvbP2Qso3zi0Vaph0JxWnymFBzLpAMR/JzZhpLLB pBWXrLejrCSlPIc6OUeaVSlHVootzYshYHLiK5Mh1pnjpYt4ZTKK7rPG5FPnO1TbDI mGi/kniviA+TRPt6uqcyDG8A0KixgKd9/4Gw8obiLKK3feCcMjBeGaRZG2dkMKBHpu 6YSvOTk+G/13Qxe+GJE/+NR/RVCVhfypcxfcMgdsVaEH76ADaNYIJipHKgE5oPawLk D/qaDN0re7N1A== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/9] Docs/mm/damon/design: move 'Configurable Operations Set' section into 'Operations Set Layer' section Date: Mon, 1 Jul 2024 12:27:02 -0700 Message-Id: <20240701192706.51415-6-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: D8354180016 X-Stat-Signature: 3fqzdhhmgbwu36t6wc5k3wpo5bp5qkut X-Rspam-User: X-HE-Tag: 1719862035-252628 X-HE-Meta: U2FsdGVkX19qNLN1ErYQ4i1+OnHpke3aAMEPLKpjMIRl5My59/jM7f6pa1i2O2FK+u6JmM5bXMsiG6T5lWEvm396wYWrDI2AR6vzqGkJPFS9UXTh5mBKfuH2imS2oEZaw6wZDjabpV8q9E/ivHIQh0w7nLsdsCIed7g2ypJoW3hP8nOi/JxPB6j0eAMx97Np7Sw1IMP8e4SpQw3pgKSJH/ZZxaoBg/AO5NMW2grx9r0uwzUSxTQdj3T08IxJkAvCnpvoUDU0LW6eiPdTQlN4XMhSUtsxp2but8NdNyI6KY6iXE86O9BhX0AI7rDPI3H/9KUDh/yHKMkacVs3XfyayumMFijUSjJSs7E0XLABxy7NQaWB32ikmbCGRqrKcNNTIG9broGGbvzTh1+ZBjoxXyvASfW5L1UN7KXU4ngINanQcgP45VtZPyYPjT6mYW5KW0si1AX14aTLpAdRa0IjCplm6jA62ZCk9XXtj98lM8I/5Pz7z8RlW5otJRbxJXPy+rgjoGYh6OWEGa1mCVSmG+c/zIn2h43IcF6mF3GWODpVb4drmePZb/7782dT9NHNGLVIxGRjUrW54lsGJ537GNNWhNpk54VbreBNEsXCtDPXZTNplQXIhOXfhVC2SmqrJlZ8A5een8BTnI7Flj7OmuiitVUJPLDWxy6TofsuExW8HvYRUdeiOu4PClFNm/Y1LMFlpas3kpXBqKkXsqtKrCXtNAxU2y8QBLAlkHdDfpwm4H7XJx4SLb7gPxZQYh8EjNdf1mdydwKvqcQZhg+IK1ET4fyZRQGQIjBsiGCm8brK2Ep+VsMCBocVoVin4600N+uQsjlGatsHta+S5IC0OTN7YkMtr9U0qA/aAxy/UbxIN84SmZbeodqLZc9GhTlOcnq0xgAoNGD5BIO7ltMl8CZ1v4uXmlznU7rk5dUnML89Snw6etRbLb/orYog65cHvk/fuc8flKT9dQn25XV x4RYfIet RFpQxbybonkjGTCREoMgeaNIPqE6Ojy3tpF1CznwGnEgHXEyPLBXpYDVRKQ/eQ7dB3xnufqm0s3lL+T9G+Dg2C0fR5Azfdm1dxM4Etp1P4FwQ0v4dJqIGtDM2W6PGNAQk5dWXyYyy1/unc/Erb7qjkcJnYYd9l+tO6HfztgEf4I2pTBYiwOmvm7tgIM6U7AX1Wioi6vQGBcq4vNE6wXN1ebNu2WLrLsLRxYx1wJV2SH/5nlY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 'Configurable Operations Set' section is for providing a description of the pluggability of the operations set layer. Just after that, 'Operations Set Layer' section, which is dedicated for the entire things of the layer, follows. The layout is odd, and some descriptions are duplicated. Move 'Configurable Operations Set' section into 'Operations Set Layer' and re-write some of the detailed descriptions. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 47 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 991839200f80..f7029bc840ce 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -33,30 +33,6 @@ DAMON subsystem is configured with three layers including layer. -.. _damon_design_configurable_operations_set: - -Configurable Operations Set ---------------------------- - -For data access monitoring and additional low level work, DAMON needs a set of -implementations for specific operations that are dependent on and optimized for -the given target address space. On the other hand, the accuracy and overhead -tradeoff mechanism, which is the core logic of DAMON, is in the pure logic -space. DAMON separates the two parts in different layers, namely DAMON -Operations Set and DAMON Core Logics Layers, respectively. It further defines -the interface between the layers to allow various operations sets to be -configured with the core logic. - -Due to this design, users can extend DAMON for any address space by configuring -the core logic to use the appropriate operations set. If any appropriate set -is unavailable, users can implement one on their own. - -For example, physical memory, virtual memory, swap space, those for specific -processes, NUMA nodes, files, and backing memory devices would be supportable. -Also, if some architectures or devices supporting special optimized access -check primitives, those will be easily configurable. - - Programmable Modules -------------------- @@ -72,11 +48,32 @@ used by the user space end users. Operations Set Layer ==================== -The monitoring operations are defined in two parts: +.. _damon_design_configurable_operations_set: + +For data access monitoring and additional low level work, DAMON needs a set of +implementations for specific operations that are dependent on and optimized for +the given target address space. For example, below two operations for access +monitoring are address-space dependent. 1. Identification of the monitoring target address range for the address space. 2. Access check of specific address range in the target space. +DAMON consolidates these implementations in a layer called DAMON Operations +Set, and defines the interface between it and the upper layer. The upper layer +is dedicated for DAMON's core logics including the mechanism for control of the +monitoring accruracy and the overhead. + +Hence, DAMON can easily be extended for any address space and/or available +hardware features by configuring the core logic to use the appropriate +operations set. If there is no available operations set for a given purpose, a +new operations set can be implemented following the interface between the +layers. + +For example, physical memory, virtual memory, swap space, those for specific +processes, NUMA nodes, files, and backing memory devices would be supportable. +Also, if some architectures or devices support special optimized access check +features, those will be easily configurable. + DAMON currently provides below three operation sets. Below two subsections describe how those work. From patchwork Mon Jul 1 19:27:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718590 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 454B1C3065A for ; Mon, 1 Jul 2024 19:27:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B7606B00B7; Mon, 1 Jul 2024 15:27:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 33C6D6B00B9; Mon, 1 Jul 2024 15:27:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1B6DC6B00B8; Mon, 1 Jul 2024 15:27:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id D37816B00B7 for ; Mon, 1 Jul 2024 15:27:20 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 88468121874 for ; Mon, 1 Jul 2024 19:27:20 +0000 (UTC) X-FDA: 82292167440.06.A37500E Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf25.hostedemail.com (Postfix) with ESMTP id 89983A0012 for ; Mon, 1 Jul 2024 19:27:18 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=qMWN3CjS; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862014; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=WjHhSpmHFZaOG6s/DUs8TF5YKjvGo6SvCpMJty+n3yw=; b=3tDHzBvWBkAHPv45ujj9n4+hkjHLj8hXs7XXxM6yHvYNpVgTjbBLH3iZ2pGol0f2tKCckp n48Juy0ZiHGp0+a3iPHjbn1eycIbhiW8A0S1xrJ3n3UywkvWLq2F83A4uvcQLDcZ15tEA0 CGXC3MV+OP/nGBu7i/YGAVInj+xMI/8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862014; a=rsa-sha256; cv=none; b=aazvI1PpRycGT9nPaePAnHQTyJP8+1hkVMSho4YS0304JLwwy+2rUxRNIs6WYpmU+gye6w BGzwgjksxbGglYhByFt8XIS9g9D+ralTBwinXVH5JUwpIfReZUiXJsyMRWlMMVtBpVXxXz 0nEHGB+7wzS5f08ZmWWQY6UY6WUrrEk= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=qMWN3CjS; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id EB0B3CE1A9F; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1E5F8C4AF17; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862035; bh=kzj696pWU8DWR5Tm6fgirfTDKawz+VAhGd1JZg05h7s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qMWN3CjSlN++hAYJKb89nWhb7/2OGMc60CPhWXTVBX0IT6VL8SKe6i4JtH+4zaff1 md8OacaXkbRGlt3+A+dDiz7I0sMfGhXrzphZS5Od6U2+ifY/O1Ji57YaZiMDjiPK3G 3Zym7Ht0zxTrCqi1G+zdbDcheGVMFgaf0YBmo+ZaIFP0yiTIf9UWQHpR0MtquynpL5 +g30FP+UcFRlYUBcWk3Ij4f1Hm0CzGHb2P0iEAj9ma+6U6JXSQz/EMWmk5yY4CyGWw cPE8D401tb0IIYIGqXKFlGihjHWd0DdkgZyDAFnFxT/7T8+hmp4KbAhz2f5LfRX5N3 qQ6XqfTfRquuw== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/9] Docs/mm/damon/design: Remove 'Programmable Modules' section in favor of 'Modules' section Date: Mon, 1 Jul 2024 12:27:03 -0700 Message-Id: <20240701192706.51415-7-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 89983A0012 X-Stat-Signature: jeawe3qs3uwonr6tk833pqnj7ocyhsq3 X-Rspam-User: X-HE-Tag: 1719862038-702502 X-HE-Meta: U2FsdGVkX1+KKzdwI5pp4c2ZeiTPNiIjDxBl4b17j9Eb0HSlYPhUX904bBKOfEizjCLQQwI9++yQv1GrcjvbYLnstrETv5xgaGuxxErsUK63piKz/AKceVjqbua60LJdlcQvR6OQmV9XI9fwdhmvYBUEUlNPFbfdXZU5zxZcNrVHXyhqWO/GJr1l7wuAqyNPKH9k4Pxc3EkN/weEt0AJ2rqxhaoy4oyNlSgmHnDwtwKXjeKdNH2Wc9MED/O+SjjUNG6c1xxqEYaMc4AvH1AB29uY8tYTjMk3oYHiZT8GyTovriCce8Kt4QOPp+z855B9iuCDA2IyhHoTXHfjeBh9mH0cATjaR4ejQDdRCtzPfuyBOhRNk41Cx7CZH3bo0CYUc5rGkxQy9dF5N7Q0Wh/ZBWXDlIKDshCSDTHnX2q/HM3RGVP8VPNszNZ7DCv0MmoM2xj1FtBTLG3m63DEKVxidOSqYHfgGxi/+M5hQBp4v5wmu+mOHkG5XDlWdjdhrwcIb1fU3efMSD2rMyyYR7pnwPfTDyEzhp214ROVx6SC7YXx/yvtwzdnAguCD4/CbGb3rlrcTs+b2iCpn1qUThUDBShYI9hBhNDxnLvN4NRYVlNMLJPZijKZNC7sNLu8wzIAnYp/8Pye6ksNIuLm6gxhwrP3gORSpkcsh8DdKw1sal/evGVd2WrDYpmHZA8k0rSyhW5e812Iku3fKd3UOAKtpAS/t5up59CjrVH3W9t3scyskMcUCeXRdkSjJQzisqM/HuVTjtfef7tgeWClutZ2hFQ7aOrLR0tj+7nI0y6MEbTE/2O+C5vIUa5DgW2MCssPxRjX7EVcN+7pFPzz2wYdKaHvuqnKj2BWg19uHDj7XHRYyWO5ACUKt9PuzpTt1T5oPgZLmW92jW9t9c5Yz2d/vqTon69NzeoNvlQsBrRcVZlsbduJ4cgmI91gYu6W8Bd1u3c7jwvNlSuGmhlmTnT 0PwVYTjE Ggek+nrZ8R1gLiOvK7oEVZmVqNlLp5P6RGmGmlChEWF6K1MiJYUe4oNvOC54pCVX6aR9tSsYw+VdRHTM0ujq6hjVw0u1//8RgGOoyzCeHYGOw5BrcMUC88DN04SCmblDB5FL2kpWJf+bUzOFn4JN8QYdaQVxC8wz4hb9PDDncDAylGeWKVYlMYnsi+wMu35GHK3gGoROK9RQWbJffitaCdqf1ujsncOt7rD2Xr/YfHZc9uz4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 'Programmable Modules' section provides high level descriptions of the DAMON API-based kernel modules layer. But 'Modules' section, which is at the end of the document, provides every detail about the layer including that of 'Programmable Modules' section. Since the brief summary of the layers at the beginning of the document has a link to the 'Modules' section, browsing to the section is not that difficult. Remove 'Programmable Modules' section in favor of 'Modules' section and reducing duplicates. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index f7029bc840ce..39e686c6862d 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -33,16 +33,6 @@ DAMON subsystem is configured with three layers including layer. -Programmable Modules --------------------- - -Core layer of DAMON is implemented as a framework, and exposes its application -programming interface to all kernel space components such as subsystems and -modules. For common use cases of DAMON, DAMON subsystem provides kernel -modules that built on top of the core layer using the API, which can be easily -used by the user space end users. - - .. _damon_operations_set: Operations Set Layer From patchwork Mon Jul 1 19:27:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718587 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B193CC2BD09 for ; Mon, 1 Jul 2024 19:27:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 930476B00B1; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8BD7F6B00B4; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BEE96B00B5; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 42B7F6B00B1 for ; Mon, 1 Jul 2024 15:27:19 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0349A81DA3 for ; Mon, 1 Jul 2024 19:27:18 +0000 (UTC) X-FDA: 82292167398.08.6096F29 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf20.hostedemail.com (Postfix) with ESMTP id 57C881C000D for ; Mon, 1 Jul 2024 19:27:17 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pSsroV1U; spf=pass (imf20.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862015; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=128kRLf0mkrncut17EAfiMaZSp77EcisGN+6pPWaJSA=; b=foT3MNS7QVC1cAtotBvQslfJ90wji8+nQ0sYY4QhU09MM3GLeXW3+1YeaYDKXkAjsNwCWd tCLOtEiW14aJhOB7QnaBMiXEYPStE2xI6zFoNXTZDyaHfDAvvTEASYTtjOznBI6haZk1L6 XDIQqCIjp+8OJqqm8eo0CAGGB7uV/vM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862015; a=rsa-sha256; cv=none; b=oanRC/qkBdkUnPQzq/VC+xqahrtEpCCqppVA2dF6PY/NYgE/uZMwcNaBy8JqZPcc5ydYG7 wXg07rVJfUz+lDx+moNx/WIo3I0ZjA+k9qjkl4uThZqhq63UHpucveTzUum5bvnTQ8Qtb/ hre/891qk9XqlG5pWR9Fa1V0I7Lo7bA= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pSsroV1U; spf=pass (imf20.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 89B40617A3; Mon, 1 Jul 2024 19:27:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CA5A9C32781; Mon, 1 Jul 2024 19:27:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862036; bh=ZnT7QNZiiuEpgT4tYIiBE2EHtfYlH/fKceMtToSKPPY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pSsroV1UZFnezFKy/slb8Tj9vjjvce9bJP1JFpky/QnyvTug16ElPmCjL3vuaEElJ KBiRty1iMUl4AxQEwHmBZvyUoIv63L6CIVHl7ROUWYQeriAs71CzH08x+HURlSu2iD CtY7nQ6GBZGqEfD4ACjHSbSCvTkmdDdMYCObfGAn3y9qF35ky7tK3Wl8KmrEu5ThBF pr+3V3cFw8Nh3WcaWsD+bVvVK5rtsjxqZnWLQrr2LSRfARIc1dCZN9WeM5ufvS9VWa 5A7IFxxUNyTKPZkgFxBBk7V4tsanJHQwfcegLxhG0KN3GSNvUrDl3xjmwZtc99Tbg8 4MzdcmVCUVEbQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 7/9] Docs/mm/damon/design: add links to sections of DAMON sysfs interface usage doc Date: Mon, 1 Jul 2024 12:27:04 -0700 Message-Id: <20240701192706.51415-8-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 57C881C000D X-Stat-Signature: em4ffh1yayyp7ib7d7dxw6tece3reghy X-HE-Tag: 1719862037-860058 X-HE-Meta: U2FsdGVkX1/tVeU+t1r7ot9EV1/TrsWTw+EmWlFQnm44mUArxMBLPvwRkyC4rPVkd+0EfRXyVZF5OrppvR5sjkFA4yAtKIJiEd/Ovcd8Y1QMKyPw/uZtrzH8/9xfz0QHivsd+N2lQ359tA1SulqvE/gsnqn+2ivg/3Azzg15pWLYcu1oqkiUNyCs6+Ao9BdykHL7SNitGE47wdHAnNj3Mv0/L0U77q9G6bC6AM0MNQnK6jkyf2ScjanorhE8HMTO90mmIiR4lzDtkLzf1Al8IcrQ7utxoG4CdxGQD4nyv7XgdMYLDLVB1WNCFRRvX0yZWcbXo8STdHwBGiPkB5DmL5WJY4tdfADvRSPYIYKmjo9uVNcUb6xod4HQXo53NkRPJUpRlSmEx016gSepJBPfaRkg9sSlB5xAXCGZhRPfoOnewvaomw/t9N/NNEStoOxIMbKX8I2QAWdMISWwJ1GB8WhOLjGWgmEYLIKrBdVdM650S+UpHfnzbvUQQt4v6XkxzPOWuUD7pfARwQ4KuurHzonWbcW4uNyvlWPo9A0MVJIJiNpJTFG2AurCJnviF+QOO2V9ehnFLcrTYUTvXMMGbjpmB9H5Pzd28DTdnIvu5MzC72jVcFiiK0dZb6dOnmTnFgvmJuQkJ9C++Tc43JDJBMCvhsCEvkc19hQQLHxgNjWnnObY70HfHUXSDYCjXdpKLYIsO4E4M0vuh4ajMCFnsOiVNg7k6urIwdSNt/vVwEhs//6Y+S1nZSDFSaK1xgOSYRi0u1zcEW8Z+iQPyGMpOQCrwQ5hRtbZMCzrJBObPDflHN4axk3IfLZ0yJIvNNBcEpyyJ6TtzN9C3r+TkBO4f78Up7q5Sd9S+e9k1XK95+mkqf6quyGBtiHkkPGj8hRSecQdiRRrU+ZmYVmwOkB3Ik9uy/eyvIfZa4TCyUbj3JAuI8Emg126kcOaFV/KEno/VE2ZWr7DJp8qcsutA21 wWQ5DewS TnqSV9hr8UcftAdYgLPuoU5x9RcljETpSgGK5uQIMWlREDPFbISnb+5PBnL2/h5ZTe8+0R6zjCzpYrkba+8bFTqGYlsJotOb2LMKJ6MY82ESkDA19VZSkM0FPAnFVs4d254so7VmVcAbDJPdOSPrQ+VgF5IzsoUt/+jetr++LAxuOVSXfHs19DqEqTuKiPbiOSSqZvwIFqmnmiKn2W7ua4GG4TXkGpW35InxhMDzUl7V1FVo= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Readers of the design document would wonder how they can configure and use specific DAMON features. Add links to sections of DAMON sysfs interface usage document that provides the answers for easier browsing. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 39e686c6862d..89f5330e003f 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -16,6 +16,9 @@ called DAMON ``context``. DAMON executes each context with a kernel thread called ``kdamond``. Multiple kdamonds could run in parallel, for different types of monitoring. +To know how user-space can do the configurations and start/stop DAMON, refer to +:ref:`DAMON sysfs interface ` documentation. + Overall Architecture ==================== @@ -71,6 +74,10 @@ describe how those work. - fvaddr: Monitor fixed virtual address ranges - paddr: Monitor the physical address space of the system +To know how user-space can do the configuration via :ref:`DAMON sysfs interface +`, refer to :ref:`operations ` file part of the +documentation. + .. _damon_design_vaddr_target_regions_construction: @@ -143,6 +150,10 @@ monitoring attributes, ``sampling interval``, ``aggregation interval``, ``update interval``, ``minimum number of regions``, and ``maximum number of regions``. +To know how user-space can set the attributes via :ref:`DAMON sysfs interface +`, refer to :ref:`monitoring_attrs ` +part of the documentation. + Access Frequency Monitoring ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -246,6 +257,11 @@ and applies it to monitoring operations-related data structures such as the abstracted monitoring target memory area only for each of a user-specified time interval (``update interval``). +User-space can get the monitoring results via DAMON sysfs interface and/or +tracepoints. For more details, please refer to the documentations for +:ref:`DAMOS tried regions ` and :ref:`tracepoint`, +respectively. + .. _damon_design_damos: @@ -286,6 +302,10 @@ the access pattern of interest, and applies the user-desired operation actions to the regions, for every user-specified time interval called ``apply_interval``. +To know how user-space can set ``apply_interval`` via :ref:`DAMON sysfs +interface `, refer to :ref:`apply_interval_us ` +part of the documentation. + .. _damon_design_damos_action: @@ -334,6 +354,10 @@ Applying the actions except ``stat`` to a region is considered as changing the region's characteristics. Hence, DAMOS resets the age of regions when any such actions are applied to those. +To know how user-space can set the action via :ref:`DAMON sysfs interface +`, refer to :ref:`action ` part of the +documentation. + .. _damon_design_damos_access_pattern: @@ -347,6 +371,10 @@ interest by setting minimum and maximum values of the three properties. If a region's three properties are in the ranges, DAMOS classifies it as one of the regions that the scheme is having an interest in. +To know how user-space can set the access pattern via :ref:`DAMON sysfs +interface `, refer to :ref:`access_pattern +` part of the documentation. + .. _damon_design_damos_quotas: @@ -366,6 +394,10 @@ feature called quotas. It lets users specify an upper limit of time that DAMOS can use for applying the action, and/or a maximum bytes of memory regions that the action can be applied within a user-specified time duration. +To know how user-space can set the basic quotas via :ref:`DAMON sysfs interface +`, refer to :ref:`quotas ` part of the +documentation. + .. _damon_design_damos_quotas_prioritization: @@ -393,6 +425,10 @@ information to the underlying mechanism. Nevertheless, how and even whether the weight will be respected are up to the underlying prioritization mechanism implementation. +To know how user-space can set the prioritization weights via :ref:`DAMON sysfs +interface `, refer to :ref:`weights ` part of +the documentation. + .. _damon_design_damos_quotas_auto_tuning: @@ -422,6 +458,10 @@ Currently, two ``target_metric`` are provided. DAMOS does the measurement on its own, so only ``target_value`` need to be set by users at the initial time. In other words, DAMOS does self-feedback. +To know how user-space can set the tuning goal metric, the target value, and/or +the current value via :ref:`DAMON sysfs interface `, refer to +:ref:`quota goals ` part of the documentation. + .. _damon_design_damos_watermarks: @@ -444,6 +484,10 @@ is activated. If all schemes are deactivated by the watermarks, the monitoring is also deactivated. In this case, the DAMON worker thread only periodically checks the watermarks and therefore incurs nearly zero overhead. +To know how user-space can set the watermarks via :ref:`DAMON sysfs interface +`, refer to :ref:`watermarks ` part of the +documentation. + .. _damon_design_damos_filters: @@ -490,6 +534,10 @@ Below types of filters are currently supported. - Applied to pages that belonging to a given DAMON monitoring target. - Handled by the core logic. +To know how user-space can set the watermarks via :ref:`DAMON sysfs interface +`, refer to :ref:`filters ` part of the +documentation. + Application Programming Interface --------------------------------- From patchwork Mon Jul 1 19:27:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718591 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA245C3065B for ; Mon, 1 Jul 2024 19:27:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8BDA06B007B; Mon, 1 Jul 2024 15:27:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 846026B0089; Mon, 1 Jul 2024 15:27:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 698D16B00B8; Mon, 1 Jul 2024 15:27:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 4401B6B007B for ; Mon, 1 Jul 2024 15:27:22 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 04322A46D3 for ; Mon, 1 Jul 2024 19:27:22 +0000 (UTC) X-FDA: 82292167524.10.E519DB8 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf08.hostedemail.com (Postfix) with ESMTP id 074D4160003 for ; Mon, 1 Jul 2024 19:27:19 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IXU6KryR; spf=pass (imf08.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862023; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5mZTw5XE+p6OCl5aq4Od67KjaMSKg+HsSzZk6Srpsck=; b=OGfHAVOe0XvZJW/1ExpHss9V2YrYJn51eZuMpmWZeE+I/Jcnn60iFs1OWdRqkfs6KHUcFB t5wSirEYVR7kK7MQ86rfxMvun8QcMu1ZPWyvifqIctkFTvX0mr+1Vr0wD4SCsKxJNOT70b BLRe20h3yVxIzHozkWRNrZ8rJVSVd7M= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IXU6KryR; spf=pass (imf08.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862023; a=rsa-sha256; cv=none; b=La/xPC8TnGviAuC2edJr14ZRcD2XJoXCzV0E1klwkGPbpuIoSK0TAY+WHqZp9w2Qvacpob q8SeEkQE9mGtBUur4EC5zIO1AHdmOvIPtsEDq/AAijSfPZAsxlobj4B23/Q+Yo93xmBcAO SIt0R3Psmk6qCwW6mLne5U3ICCvC5kA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 6D8BACE1AFE; Mon, 1 Jul 2024 19:27:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9226FC4AF0D; Mon, 1 Jul 2024 19:27:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862037; bh=W9d4cUx1EjXG3O2nC/ytqNez6Roq0dChgJMH8XJ7CE8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IXU6KryR88jDAsOwngkduDOqIYRUMZ3Zx6gSiN32pgbA9QsG3NtQ71mfMPlhVZpsV 3DTrttmY6WafRHkIIVnDhir3Nw3hQa7//04K5Ucxf92WnBeG92/BlbHKEj+NWfv0ke nH58B14RusmqUVBu8o1UA89LsYIs441aD8Vk3PiyWsW5uegD7pPUWS4I0pfAdV5JE3 EFD+zqjVWjGWOXksvVlKhX4IRRnygeY3kA/qu8orOL3eFt1A0Bm2uxMJ3vwReE8ZBS mb68L1pa8dImiQoboeisyLrVx1jQ5NAIDEUt34bVZwS7LLEu4gPhozkKAyCLKuQDWg jtvxepdW0s4Bg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 8/9] Docs/mm/damon/index: add links to design Date: Mon, 1 Jul 2024 12:27:05 -0700 Message-Id: <20240701192706.51415-9-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: 9cm98ieo5e9z5pmazggkjzh6jxatokjp X-Rspam-User: X-Rspamd-Queue-Id: 074D4160003 X-Rspamd-Server: rspam02 X-HE-Tag: 1719862039-606960 X-HE-Meta: U2FsdGVkX18w4kIESPVskUGjnqm7HHlIKWff3aMHIJBMQMeHpinadd+4WWFgkn3K8LAsXpnbC87mE8UBTEkSlxO2HOcNLHQxt5TvynD4vlDQncwx02lZmJldlwFPLife62lTLsCQB6l2sqCbHO2wmf1HyyIho3WXAibRF3rWwaCwClnJXeDHVrxcXQSHBTwuSO8y3IJkdmMAK3cU0+ITBdm0YGyMeEdgCnVgKvZkqaBopxPeDz8E0G+NiT6M/ic5aOGBVlcgMdG6WkeG1okUG3TKQuU8jthTgnaBvOjbTqdqOj2z4ViVjN1fIOtroHagXXAl6xGvdaBATGiIKyRyqJA2q30HRRgEBOO/Aot/HbaOCdCA72crAzjaWlikJMpp0KXR1lQX3SFoFRdbGrPmGjirsfxhAkvVcpJ2KtADQwjCyE1cPd6agh3b2ps9hNcl0MhnlLd4aXL0lVEl1sklmRiyJEAI8gco0rKst03miB66prbdfdeBUPWQvVKsA3VGK0DxWbJiIXoizm1qsmSrsK11/+BSPaH4Pri+PMShR9kpvHYYM+F+Rv19N8oWK7JWMBXFi4jKmmNCEAXM8UK0JxWMgTRfA2oCXTHs2jgU+biDymJRH8GzUi+vQnN5l2AKG8fAiqvD7/ypsNfIDM/ah+xe8eU5O8VGrhOxmMnCB4d/q5p/q1PJ43i+eIzHUhXkWguZQJhM6FbyJREBvIC2Vm+RIv+fkZJK6q46ggMl6Nw/iuvJGiG6jwe7XFiJ14BeD54BEINqrG6Q40LC2Eiv4Yo4PB1yoiNUT5A+VbRP0kpA6Qq2bvNB6J9f3+Tq1rMP8pKIuabyWHkVk9lldh86XRqvcGOa/tUwiHaQgHIPijhjJR9j+aZiqki3F9P3GGIR4Vk3A938e7JEYnBvD8/OjjTnmB6jzsWAsf3+gyrGespXSKlZCM1TD3mEj6N1hCu+lKd5rVrNeujrNae9Zk6 HoB9Aqp/ AGgQmSmiCsZrTsNC/l5iY56ShHVWeIRtO5peSkdyIuu/kscJigIXLj9Ka9zVkqqo3cjChcksog0VemaIdAF6+puk6W4/4pIySlNkiDq0Rv1PxLvAr4psKCq8VGKqUwXIhhfkAM/8U394sCdcdbeZEAtX42QoZVqxxJYtIlJok/arSiL2TftuFPC7XQAP1E0vDOZY7B3Rw+Hqa8Pc6e3tBPG4lOJ5mgQqPdNN//I9ErilOc9g= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DAMON subsystem documents index page provides a short intro of DAMON core concepts. Add links to sections of the design document to let users easily browse to the details. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 1 + Documentation/mm/damon/index.rst | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 89f5330e003f..8730c246ceaa 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -141,6 +141,7 @@ as Idle page tracking does. Core Logics =========== +.. _damon_design_monitoring: Monitoring ---------- diff --git a/Documentation/mm/damon/index.rst b/Documentation/mm/damon/index.rst index 5e0a50583500..3d3b345d8889 100644 --- a/Documentation/mm/damon/index.rst +++ b/Documentation/mm/damon/index.rst @@ -6,7 +6,7 @@ DAMON: Data Access MONitor DAMON is a Linux kernel subsystem that provides a framework for data access monitoring and the monitoring results based system operations. The core -monitoring mechanisms of DAMON (refer to :doc:`design` for the detail) make it +monitoring :ref:`mechanisms ` of DAMON make it - *accurate* (the monitoring output is useful enough for DRAM level memory management; It might not appropriate for CPU Cache levels, though), @@ -21,10 +21,11 @@ users who have special information about their workloads can write personalized applications for better understanding and optimizations of their workloads and systems. -For easier development of such systems, DAMON provides a feature called DAMOS -(DAMon-based Operation Schemes) in addition to the monitoring. Using the -feature, DAMON users in both kernel and user spaces can do access-aware system -operations with no code but simple configurations. +For easier development of such systems, DAMON provides a feature called +:ref:`DAMOS ` (DAMon-based Operation Schemes) in addition +to the monitoring. Using the feature, DAMON users in both kernel and user +spaces can do access-aware system operations with no code but simple +configurations. .. toctree:: :maxdepth: 2 From patchwork Mon Jul 1 19:27:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13718589 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6552FC3065B for ; Mon, 1 Jul 2024 19:27:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D082B6B00B5; Mon, 1 Jul 2024 15:27:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8A2A6B00B6; Mon, 1 Jul 2024 15:27:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADD8B6B00B7; Mon, 1 Jul 2024 15:27:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 861686B00B5 for ; Mon, 1 Jul 2024 15:27:20 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 53CB51C197A for ; Mon, 1 Jul 2024 19:27:20 +0000 (UTC) X-FDA: 82292167440.09.69D089B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id B5066C0016 for ; Mon, 1 Jul 2024 19:27:18 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=X4uyulKb; spf=pass (imf28.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719862028; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6ce8MEuI8ZioQPeNPX4DDZDStYJWCPUnczWPRbIwdFk=; b=1/Lim3GmMNOK7LBD4UQ8QD5+6WKSeTZWwigxc/sTCSrqXeuLVVOduLAJQMl0njAzZtdwwM LWZNK0BiL5lqpmMtfaBS9SUDTLFAgmT3p6k08NT9v5IQ38PYQtjGs2wJ7eJRhU11AaynSX h5pYnRk4es7OX3EXF+4m0YoIh8wY9NI= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=X4uyulKb; spf=pass (imf28.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719862028; a=rsa-sha256; cv=none; b=7N9be8B5Nop7rYqzyahA4m6QegpvUKh2wtlzO4vGQ6wthKLlcKYr9auFo+K2mgNVSMtpdN 9SanOzf8mfahhR71xHejNY4D9aMSKUlFQXA5kS9Aym8f4iXNyLcgOvvL9+1P+45LjRBTJn Y+oBbTwAyHGRHtpY/OzXNaU7paNwUbA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id F04CE6178E; Mon, 1 Jul 2024 19:27:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BA6FC32786; Mon, 1 Jul 2024 19:27:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719862037; bh=fBlkxk1Ff29Zv5hf2sNJnmiHJF0MltvzTSJLNhDvsG8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=X4uyulKbdcl37BYLf/rxxpfmLRRiHxgo0DdJC/AznGxFaPaD2j5tC1707zu7MB4m+ oJHVeSBr7Hsz/iQ3j/bCS+ZvrNDhcRNnbYDp38oh1BejNsY6D2hqBEd7NFK9vT7oPL F9tXsQ2/A3l7gcSZ0M8xHvwtA/eaBmHnRDfcG8tEVoGMwvD/AvmZpVT3QDVEMiZ+1r NTLTFMinIq0OI2PmAO8xdUtoayV+W+xeFoncTB63jXwm2TR/4ALWSu+g6IBJW38x1P 4iPYzXgQ/QfldH4VQCg/4E/SXPmzn6KWDXXGiOWQGfl6aYfF94MwLNs97Pu3CFNO6b AFaxzonaM27Cg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 9/9] Docs/mm/damon/index: add links to admin-guide doc Date: Mon, 1 Jul 2024 12:27:06 -0700 Message-Id: <20240701192706.51415-10-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240701192706.51415-1-sj@kernel.org> References: <20240701192706.51415-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: B5066C0016 X-Stat-Signature: 3e5uu9ecty6g6exrwsiyfk48chb3tgud X-HE-Tag: 1719862038-123489 X-HE-Meta: U2FsdGVkX1+R2ncvBRUanh8j78M1Uon8KsfVrzHwHBAMgGk5wPEBN6E1/QNl4nR9VXiivbHx1yfbveXujiWKyfFgB8DByoX7Lgtw0q44nHal8g0ckutKN4bUVoDjnTFzxbFZqxYVwZ6fkfpAIRgvO/dOFlDFbLglrY8zn9qVk1Y1uE1UcYBkVw4IlkdN+bA4Mo7JwdJHyGammEuPD3EWIuEgPqmHVMBpRvX1j7wnr+j5s+3gz4mrN3b1CtELr1PDBbB3FqY6t6NJMTxlUGPiDP1LBAS0BRZ/9ETY0TnUHvByjqgEr8FgdODP3jhytKzyO4aknZB4MVyD61JGbz1UnbkVSYd+99yggtLhAo9rfZaIp0IayIkDxgHyC9EcD7kgLctIQCLDOLt0j84uf7WjQB74pp2HK2pUnnn3NaFcwYjPCkN7GANtzcBuovokrWfe1bGDZNIlB9SpNApTuqWWsDLC3gBeBKE+g/1r0quLO/P1It7/Waq2DU+YfYoqqV/AVK1PS2BmyC/NL6pki8FvE5b8dvb1VdT6jJFwxhUqdjFkNY416yW2UWoxSBFi/QvroOWkAog+afMAw1fiWFbPJHXz4Z/5beL5mPAdoeg/Rh6Qc5mXE06t+IApteIWnauJFBEMTUKw03toph1LxH5WuAfVYIgTURUX330ecnVzUQhO50DvM8D/Dgag9osFpsSgMohCZToMAmbaVA3EZJSAXBmbLZo5yK5NmlbYLvNyJJcgfnnhgRTvIGLvrRZYvg0VGTqpSzFBehlDbsmH29dWI/1KWQ93SQgU9AABQTJ9Sn7cDKgBwZiXigYuzLZCtBX25moPwPO1tcIdNineasnzuEXzu7N+4p+Kajn7EoPucMFyYWQng4yS2Wx/9zccDwlas1weUoGbh1dEYYiy/YRSLl1FGH3wVbdtlOCVGAJF2mGNyAXcIcxrK69JWXXbYZ0Vh0PExpZONWXLgO5vpKz cm+GWUjZ LHofXJl6N9T8McZDh3t2n1sTFvPXR7BMuy+ge4TOBxyA/30OSgH2v7YzKCqJAzfv5/kZw52rXxA/k4pNUIq6wqqfgXTTRq4rk1vfVjTL1zwGdrjvUzDk7KPWDhp3Cv7psqdxDYToZISsabYjj5fh2b8cFnI79SjRhM6eb5CD5PXSLU6ttCvXyhTtzE50onVB6scHJ11dWDfQ1Pv8Lvi8xVPK1i54a9vUM3QHAGGCY94ryXc0Z8tJZ6mi+WlVSSWOzLPbLMzCXn9Z7S8Q= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Readers of DAMON subsystem documents index would want to further learn how they can use DAMON from the user-space. Add the link to the admin guide. Signed-off-by: SeongJae Park --- Documentation/mm/damon/index.rst | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Documentation/mm/damon/index.rst b/Documentation/mm/damon/index.rst index 3d3b345d8889..dafd6d028924 100644 --- a/Documentation/mm/damon/index.rst +++ b/Documentation/mm/damon/index.rst @@ -16,16 +16,16 @@ monitoring :ref:`mechanisms ` of DAMON make it of the size of target workloads). Using this framework, therefore, the kernel can operate system in an -access-aware fashion. Because the features are also exposed to the user space, -users who have special information about their workloads can write personalized -applications for better understanding and optimizations of their workloads and -systems. +access-aware fashion. Because the features are also exposed to the :doc:`user +space `, users who have special information about +their workloads can write personalized applications for better understanding +and optimizations of their workloads and systems. For easier development of such systems, DAMON provides a feature called :ref:`DAMOS ` (DAMon-based Operation Schemes) in addition -to the monitoring. Using the feature, DAMON users in both kernel and user -spaces can do access-aware system operations with no code but simple -configurations. +to the monitoring. Using the feature, DAMON users in both kernel and :doc:`user +spaces ` can do access-aware system operations +with no code but simple configurations. .. toctree:: :maxdepth: 2 @@ -34,3 +34,6 @@ configurations. design api maintainer-profile + +To utilize and control DAMON from the user-space, please refer to the +administration :doc:`guide `.