From mboxrd@z Thu Jan 1 00:00:00 1970 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 A9290E77188 for ; Wed, 8 Jan 2025 04:05:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37FC66B0089; Tue, 7 Jan 2025 23:05:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3305A6B008C; Tue, 7 Jan 2025 23:05:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F85E6B0093; Tue, 7 Jan 2025 23:05:00 -0500 (EST) 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 007E56B0089 for ; Tue, 7 Jan 2025 23:04:59 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 669FB803BF for ; Wed, 8 Jan 2025 04:04:59 +0000 (UTC) X-FDA: 82982943918.20.F50BA17 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf19.hostedemail.com (Postfix) with ESMTP id D1B8D1A000A for ; Wed, 8 Jan 2025 04:04:57 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=g3B1EOQF; spf=pass (imf19.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736309097; 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=G6Ctgccc8rmS9vAY8kql9coZSSFFCBm6f/LD0y5ml4E=; b=P1EKYlk8xhT1aazJjm+sBtHpsJHpcb1ePFHkjw3DVJSM+Kcshjzf6ccIoZpsuF23hMnnkD D58uscRmgXrU9meof0KTnLx9awwRKQKzxIYs52XztVjutC6XPqsH75XCsVF6WcgBGMAvCp d4sKifCktIQ4fu/rT+Yw742UVzLHgZw= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=g3B1EOQF; spf=pass (imf19.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736309097; a=rsa-sha256; cv=none; b=Vl9JJYuFNykg0lv/ibaNexAA9K2fEWeUuAkv5swK3XFedlUIOh9SV43Aq7PDsmBjAABYLH H6Yv6sAylNgdbR5z5eq7RAK10Y4g9gtD78q4h4uyMpFmMrB5TlntMYsXtkzGHC2Gx9FbI8 79FuPCZZLy6dgmhiHvTBaO76IuINwJU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 79A6FA404DE; Wed, 8 Jan 2025 04:03:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ABED3C4CED0; Wed, 8 Jan 2025 04:04:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736309096; bh=g8XiEqSr/aXbZ1sJ4dxqWee2PjNC8HDo6PiAWIA2Dlg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g3B1EOQFdiP53gYyVUlSkZK+aFra8bE00Nby8Nj7K5RnURGW1YMMzEQ9NjMkDsf4T 9+q2Z6oZoCxKgVI32I5pHeTpd9YZ9v3is1bvYPIV0I3/UOSGgmALZ0+RYGGRqjp2qr ROnCF0N0M4kKFABQx5GocHmdg9VX3xi5CuXmLhC2fMpZCZ0t9OXO4pq2zCn/raf7dI ngzSYyuiKJ6RhTKZKCuWoFe3OZ1DcY0QyQLHCWdkLh9nC+Zv1DpFDzWNaMphLVf2Mv z1Cru56s7R4VBmWoXzASlBnBmeu6kBW2HGqeydHYJJ7j9G6jpkP0tk+zkc40lVf2Pv yonEsOBQ9W0Iw== From: SeongJae Park To: SeongJae Park Cc: Andrew Morton , Jonathan Corbet , damon@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 07/10] Docs/mm/damon/design: document pass/block filters behaviors Date: Tue, 7 Jan 2025 20:04:54 -0800 Message-Id: <20250108040454.1283-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250107201739.79484-8-sj@kernel.org> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: D1B8D1A000A X-Rspam-User: X-Stat-Signature: ejf56njzkdi57mbhs7cb985uu8o91hmb X-HE-Tag: 1736309097-633495 X-HE-Meta: U2FsdGVkX1/JVmizsJcYcCJtkOGcthiiYzJ9Rxupf0YDm4WCgApRgnwqETDBvPiJOd2nFJbZmH8zbv5H+5HHPSfGdGDo1IdYVbc3Zgq92Oif3qN863OS88QLYb9Q4B1CM5NIPE6kaCh0pwwJKZ2TxQedqczz5vc4IA7z7rVKIdWJS5Ui/Ugvg08/D/eAHB/LNuruRiv4bWM6cfvOgMyV8TqwlUlxqmVWTNUpM/nGF8kMKBm3WjKWg+CtNVMdl1Iz4Z5iBdvGNiHAb4gwUsUC44PzuSJF5eL3HHo6gKd8kvCZQL3vEFNyHNMolzSBRQXScpBhLn2IdfYxzkHXQRMtZWiM5KCudzwnPkZa3ZpId1illkkvd3XmU1y1Byak2Nc5flkT48CpcKhgt8PfBPcTAwIH6u6UMvl5+P5YV0F5VtBXqtHPmh636AyAYPpwLYrnYqjXlqGuFXy7F1KiDMg0uJBGfQ8PrUvXCxe1ACqALjEZV92ETvSZbPTHmzuw7v3yUs5pbque+zKF7wp8v7fQDfUbTEWEbL/9F8WkOSRsPox3i6En0vxUJFnXbPOWAuOa8hZO/K8v35hzHr1Rb+2RkgzOv/rzCVU4mi73g/SGqPUq3qYywdXnkeStUd2N82+0v91BplwOzay+skcqjEi93KHB2AVJj4G24vL2x8UAZeYPgvkokkPx4K3xyLdnft9I0KtzHBoutCZ2HDYaG/1AOZSBp4HG1aeNYtj0teV+UDVbd1HawUw/8V06bbGiIxWRYiE2bl01RookA6ZU7V32QQZEHprdVoPkNQs/3eiRc23BPSINbKmGItYaIaChMd5v3PI/Te2Fn00NBxEKfM5V6thAdtVU1WJe1iiJB0/ZPhrIgPvMprGIsPqYcrtSO38qm9+JoLpIE7WZvqEGn5HN5l2xp/iJR+ZYVUFyxCrAkWCWPU0Ji1AhHTaQMO51AV8n+xdIxC6Tw84MCEwsTdw NmM6CgiQ 93Dy543edaGHQzWQ2XAcit2rROjsgLlWI9JEVkv5V69FJ/MLVZGGBcXqOFZsI+0e3tLMnS7UrokopAA/WnXkTnH+sAjghBYU4G44ope9AH3YHqZSdyjPyvXjK7/y0vXcY392tAemOeawjAro+PJtQFpciwp8XyWdAH7TYu9h/EeZpgSCFNeJ2R6KLQ6gWVr9intY+6F0iASvH165c2vNCfCB2ktjl7jKj+S2gC4n8XHX68VU= 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: On Tue, 7 Jan 2025 12:17:36 -0800 SeongJae Park wrote: > Update DAMOS filters design document to describe the pass/block > behavior of filters. > > Signed-off-by: SeongJae Park > --- > Documentation/mm/damon/design.rst | 34 +++++++++++++++++++++++++++---- > 1 file changed, 30 insertions(+), 4 deletions(-) > > diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst > index 449eb33688c2..3682e719b8a6 100644 > --- a/Documentation/mm/damon/design.rst > +++ b/Documentation/mm/damon/design.rst > @@ -504,9 +504,35 @@ have a list of latency-critical processes. > > To let users optimize DAMOS schemes with such special knowledge, DAMOS provides > a feature called DAMOS filters. The feature allows users to set an arbitrary > -number of filters for each scheme. Each filter specifies the type of target > -memory, and whether it should exclude the memory of the type (filter-out), or > -all except the memory of the type (filter-in). > +number of filters for each scheme. Each filter specifies > + > +- a type of memory (``type``), > +- whether it is for the memory of the type or all except the type > + (``matching``), and > +- whether it is to allow (pass through the filter) or reject (block) applying > + the scheme's action to the memory (``pass``). > + > +When multiple filters are installed, each filter is evaluated in the installed > +order. If a part of memory is matched to one of the filter, next filters are > +ignored. If a part of memory is not matched to any of the filters, the default > +behavior is applied. That is, as long as it fulfills other conditions of the > +scheme including the access pattern and quotas, the action will be applied to > +the part of the memory. > + > +For example, let's assume 1) a filter for passing anonymous pages and 2) > +another filter for blocking young pages are installed in the order. If a page > +of a region that eligible to apply the scheme's action is an anonymous page, > +the scheme's action will be applied to the page regardless of whether it is > +young or not, since it matches with the first filter. If the page is not > +anonymous but young, the scheme's action will not be applied, since the second > +filter blocks it. If the page is neither anonymous nor young, no filter is > +involved, so the action will be applied to the page. > + > +The fact that the action can be applied to any memory as long as no block > +filter explicitly excluded it means that installing pass filters without any > +block filter after those is same to not installing the pass filters, in terms > +of the ``action`` applying. Statistics for DAMOS filters will still be > +accounted, though. The above last sentence is right in a sense, but not useful and could only confuse readers. The statistics for DAMOS filters are filters passed size stat, which is provided as per-scheme accumulated stat and per-region instant information. The stat is for any memory that be able to apply the DAMOS action after the filters check stage. Hence, whether it has passed the stage due to existence of a pass filter that matches the memory, or the absence of any matching filter is distinguishable. > It is therefore still useful for monitoring purpose. Hence, the above sentence is completely wrong. The case (installing pass filtrs without any block filter after those) is not useful even for monitoring purpose. The RFC version of this patch was mentioning it correctly, but was not clearly describing why it is not also useless for even monitoring purpose. I was also confused due to the absence of the context. I will rewrite this part and send the whole series again as v2. Thanks, SJ [...]