From patchwork Thu Feb 20 19:35:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984434 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 6AC01C021B3 for ; Thu, 20 Feb 2025 19:35:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D4A432802F9; Thu, 20 Feb 2025 14:35:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CD2682802F3; Thu, 20 Feb 2025 14:35:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFCA02802F9; Thu, 20 Feb 2025 14:35:18 -0500 (EST) 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 86BDB2802F3 for ; Thu, 20 Feb 2025 14:35:18 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 48FC282C2B for ; Thu, 20 Feb 2025 19:35:18 +0000 (UTC) X-FDA: 83141326716.09.819D0A3 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf24.hostedemail.com (Postfix) with ESMTP id A62E918000C for ; Thu, 20 Feb 2025 19:35:16 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="P8MMfv/t"; spf=pass (imf24.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080116; 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=CU4FfTcGiLqlCmueCyOixm7z+uvbFV2ofQxB1flMyH4=; b=OtZz3RohSy6YDfunu94rXDMqiWtnO+yIYBs/TrwwxdkrjrhRNppW71dK/iLRFxfLWxqkot lzuYfytaTYK8edRgBpkcibHm9pOo1b5zC4ipNEimiUw8DjzVbTblsJjd1+FRwwWQnJZBEK T8PE0mWD9FHR90QQ18zMt/3kGj1dG2Q= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740080116; a=rsa-sha256; cv=none; b=bb22HFDgwoAUFrOgDsPR5ux+l/FZ8Z4RHt2ylZw6VbtwgeITa3BMALZX9V96KzfumB10R/ kK6rUFi6MIkkAHBC6GdTIsGUyKVuyM/QLQm5n72ixq1752wEHZROaZNs/s+EYKvTYulekI 4J4H9YCT2CCWfchkugAleMP5olJZjHQ= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="P8MMfv/t"; spf=pass (imf24.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) 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 951B65C59B0; Thu, 20 Feb 2025 19:34:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C4DCC4CED1; Thu, 20 Feb 2025 19:35:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080115; bh=vASrAL/pnHBXCkrPC/c/PavcC1+wtiSIVa/v3Hmh35w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P8MMfv/tOGNBm1TAxJCJDAx4QYLjeYuaj6aAYaqtgN0vsN33ugXGEIHaijFDoIquG hLi2NLkdNHlU/CFkARa3eUpElnZLE1UdG9kRTP7K0eHH9qBlhme2MEp0+wAEfP7+I0 t9G5Uy34RRTBzJSCbKuKIKfwqtoVj/Us5EY+LGCbn7qT2JbrkRV3Is/No+Iwq1lJVk ln3aK/2A4z2vLOp8Tik53VVrLURf9TjF9L3U1buOI51CMrFaRNs1w+9A+Xo2UCY5fh +ZTGB87uLddNh2LGGQCm133hhclagskCW+4JjKQ5t5U+lK4ajkxzxNNF8ibAfb1JWr u2qF/Qu63N8NA== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 1/9] mm/damon/core: introduce damos->ops_filters Date: Thu, 20 Feb 2025 11:35:01 -0800 Message-Id: <20250220193509.36379-2-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: A62E918000C X-Rspamd-Server: rspam07 X-Stat-Signature: 34qnnyqqu1kxkf5rwat8cy66bfh6k6px X-HE-Tag: 1740080116-743528 X-HE-Meta: U2FsdGVkX180uiK4/1ayUz47KE5aNA+vTBAQPYEiN+zU2mM5enYWZeThuSpKt5a64F5daTXRvC6x7gQiu1ffqNpufrtTeytHvnZQFJ89f2u4eYvH+5Vc5ypbXwIxZqeHFUKy5i7BI7zmHY/TzUxpl4gq2mV7hAnzezZM+sEVmfxc3rLRoXphGpxdUzQA2CwBjMaCBd1sDNDv565KtdUC6ygBkwTa7PFJ9NweoHF04xYvnSFTXBytIUQhB6vzVR8NXyaJry1g4AaNy1HX4ZR4pjx+emfzstg2lFVwci2bDYlF6AGWgr7NJzb5BMVkqeyD4lDfPVZBhB6fU67YNQcvyEigG8LB6JxjPWEMfRGmoKch5NuB1GpOICMLropu+POaKm/sY8Wlc9N15cFk7muMSp5mqPycvQfTLVbFp6dhxvjD9alka0Lozuy3SX8Nb+s83PRAMnm9fElcN1AyePclDd7dwjW0b3FJ5Qj4himyLSw5BpInajJ5G9Jc2tp6odnG3P8GPVXUIj6MPTfPS6ncGkRCAz+lhBnyDlyxs84IIpxx6HJyqxxLamA+8pZOozd69kMa/g/Z8Vd2AVdtUKO7mvK3Ozdpb7zdMP3l1Ek199Gc7856TZdtZeUQXWRi5pQS9CWjABUqmSUjBbyfYyxJzBCJKemecEPUyuCjXQ9NAidi9PgxkKXqO7mXR23JpBPj4Vs9HQ5Uy2ItrvEozu+xN39dw5rtcoIjGW9ppEOl1PBa4dQi2c8zR7ePSG2H75cx7EXfgsI8xRFLaD0YkYZ7PJp4mJQqPUc9IGPX22GmUSz/BSnhb4+hR9L8LUF+9UdmSGadHk0y7qUamnq8i6wyBHCebE9oX6txmKQl0F2kN95pp8BRaasMu8aoKxLykIlQupqhHaEasDudJqmOuWhsxqf+QJqlfiBcm0zndRyhPWtXB8ZK9E0ObZ0jok1LRgbS3eIa8S5AUpktS/kQkR/ mKBdEfH9 zk0rWhntOUC5kz5Y0YWktOViU+TxwPii3fokQEAecMQHtQx756f+QMZo+4/1F8RZYoqOyajbm6GrUBQe8i2qhTyV7NgJF4T24FQVdELENVV066vz9SRZuk2sjvKTBMjAVtiiJw1J5EudMYL8BlgbMtA8S3rnZujgXF0ZZ5+GaTJRNmADYa4fAW0jXI+1yrMx2GwuCXXXck//Cd3J9cftrFUU0aU9OYGaGJe7ZNtJrfM0R8pJmGgt/1JD34nJWnZR3e0spgTAMJlPpkS+uM/Zvv7PG9Q== 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: DAMOS filters can be categorized into two groups depending on which layer they are handled, namely core layer and ops layer. Also their evaluation sequence is decided by the categorization. Currently, all filters are maintained in single list in mix. It makes the filters evaluation loop inefficient since it should do the categorization in the loop for every iteration. Introduce another list that will be used for having all operations layer-handled DAMOS filters. Note that this change simply adds the list and does not change any DAMON code to use it in real. It will be done by following changes. Signed-off-by: SeongJae Park --- include/linux/damon.h | 8 ++++++++ mm/damon/core.c | 1 + 2 files changed, 9 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index 795ca09b1107..add82fdc1117 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -448,6 +448,7 @@ struct damos_access_pattern { * @wmarks: Watermarks for automated (in)activation of this scheme. * @target_nid: Destination node if @action is "migrate_{hot,cold}". * @filters: Additional set of &struct damos_filter for &action. + * @ops_filters: ops layer handling &struct damos_filter objects list. * @last_applied: Last @action applied ops-managing entity. * @stat: Statistics of this scheme. * @list: List head for siblings. @@ -503,6 +504,7 @@ struct damos { int target_nid; }; struct list_head filters; + struct list_head ops_filters; void *last_applied; struct damos_stat stat; struct list_head list; @@ -810,6 +812,12 @@ static inline unsigned long damon_sz_region(struct damon_region *r) #define damos_for_each_filter_safe(f, next, scheme) \ list_for_each_entry_safe(f, next, &(scheme)->filters, list) +#define damos_for_each_ops_filter(f, scheme) \ + list_for_each_entry(f, &(scheme)->ops_filters, list) + +#define damos_for_each_ops_filter_safe(f, next, scheme) \ + list_for_each_entry_safe(f, next, &(scheme)->ops_filters, list) + #ifdef CONFIG_DAMON struct damon_region *damon_new_region(unsigned long start, unsigned long end); diff --git a/mm/damon/core.c b/mm/damon/core.c index 38f545fea585..bcb7e42098dc 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -374,6 +374,7 @@ struct damos *damon_new_scheme(struct damos_access_pattern *pattern, */ scheme->next_apply_sis = 0; INIT_LIST_HEAD(&scheme->filters); + INIT_LIST_HEAD(&scheme->ops_filters); scheme->stat = (struct damos_stat){}; INIT_LIST_HEAD(&scheme->list); From patchwork Thu Feb 20 19:35:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984435 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 CC8ABC021B2 for ; Thu, 20 Feb 2025 19:35:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8DCB82802FB; Thu, 20 Feb 2025 14:35:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 83D502802F3; Thu, 20 Feb 2025 14:35:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6DC9D2802FB; Thu, 20 Feb 2025 14:35:19 -0500 (EST) 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 4D6E52802F3 for ; Thu, 20 Feb 2025 14:35:19 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0D99FB7E82 for ; Thu, 20 Feb 2025 19:35:19 +0000 (UTC) X-FDA: 83141326758.19.7D59CED Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf04.hostedemail.com (Postfix) with ESMTP id 8195640016 for ; Thu, 20 Feb 2025 19:35:17 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="gV/svjnb"; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf04.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740080117; a=rsa-sha256; cv=none; b=Jq0gaUBclc0ZL4t6vw1XBVDfeATwG0qJ6Xp4DmKZkOIzychiwFAqZa6+1po0/6L0Dmfbc1 up98HCbP2T0uKwFWwtirt2x72n+mXh02eEa1pJQsnSo+hzBNEgXUu5IlAfWxrg8hjfHQk0 9wLJUj7AxG/2zsTP3kcI0rxpXyCRyRA= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="gV/svjnb"; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf04.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 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=1740080117; 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=ZsrXeoZBCFLYJK21TgtLopRLzOKjXVUqLVdDLUirS+c=; b=sqDSqIe79fRQEkuTXUDFEeV+84Q5Vo50NDvE0dBZUTzZekipwqJn4t1KHRnML7bsBfv6cw b1z7YGCgqtQB90+uQS5aBnlbv7SAvlEF3w4KEsw+pGCl/HmE9Qez+ip1kUObA2HM+WpU99 5qN+lNV8VwvTL5wNyoKZKWy2vPLUOGA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 3EE456142F; Thu, 20 Feb 2025 19:35:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5CB6EC4CED6; Thu, 20 Feb 2025 19:35:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080116; bh=9/Gqh5HBFp5EuQgZh8Vsw0TLf0LkxPqdJjQTIPzuVw0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gV/svjnbc/hLOZlrJ/7AWMBpbwF4SUEljC2gTcd5iUQg//lYy3q2XGpomCkt6SsMZ EbUHIikzp2M4Xds61ge0YSxndS7aY2qTe7BOlC7PeKyt/vgOFi/yJyosLa8Nw39dwH kAgiwCAOaACRx0U8CDDHJRiCWg+ASaw4nxsMljcMKN0y7kekkbjBroGDsRy/TjzUWf zo6u33V+SQ1HZfg/muPUFwD1PxiuhWQpIp3qIUYKoXXKg74I+AyUFCMkOlM8tPsHRT OcSr8pdqkaqXYaY/mcruftESTSQ4ny0KwZw15Ll9/ExWQF2kB8cKib5G3JJ6hctczR xsTTQ+rcM8wXQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 2/9] mm/damon/paddr: support ops_filters Date: Thu, 20 Feb 2025 11:35:02 -0800 Message-Id: <20250220193509.36379-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 8195640016 X-Rspamd-Server: rspam12 X-Stat-Signature: oeqytjakho9adybg9rzucc5bqup97mk9 X-HE-Tag: 1740080117-278280 X-HE-Meta: U2FsdGVkX18BOuaUdGz9k+X7FPe1ZICTtB+GKpytxptFDkr4rSUzTMYySOWuhcipZ8Q5n86CxvUn/WFXkiz5t3/j2Eje3KWPQzbAqTqBZgMjssYI5uebuckr2ZQJh+LjvkYKwCQ2NiBR8Wv4eMkm32Gel/rrGd826FL4YIjUP69IgX50yQxfj99UGXSRGzzqgiwGzM3yzeifuD+E84tzEp3HlRKfyVnVFeOv7kgbg53+LVmCMceyzlBSpgO11F4Hqm4xkaYmadz9jaYkqW2194zCaeZxQUbBcPh1MDeLF4k/y3C/qSu+yaJdyL1XsNHCK0tfNIG1u4oogJQ+XQsCBoEBh+awiOFhRwOR8taJUk5+NtuOg9TEZpW+iDP2LFIZLUBZNmgrfFzcgbvVpoOkxTw+DzebAIaQkv8hHMKmfuyQd0EJxyI+lPYgmUCCoaaRBk+aQ0AVK4JM9LdRjcC4ggmdFdK0xmEDffcsn61BMkQvvhrcGUGAVuiqxXo6Zwj/MuIQsGZJu1k2fa9Znb32cXP/hR70jpUFgy+RE7pKzv+jN5jzjoaKO7cDs+7QX6VhoSv70O/b2hSHNA2adcfnWZlm9O1tCce4U+bNvMiKMMN1BFbG2YV3UVHwr/JJcpiJ0XNSmuoxNgu2y0wxwPYsayZIZ3/0yJGR4VEPPAdAwz17n8/wnFZwc/Ux7yfULQIK7vsCXNi8E1Ezt69Be977bgUoX7eD+R2hMZLvlv/JshsZo4rjK533P3yvACNjHSFJ8rnha8iPTuujGTxlljd/ax6smGHe3crUVJ9sYuKvPeEJ1sURIVy84CB1mtYWnZgyYQaMY0SumjYDN8IBKEW2veifwDcl69NThDUuC1KExm+K8V7frow4P7KHE5WbEOV1SELWZaNOQ72WSnAOBr0KrhiSvnJvI1F/NydeDZqmQyYNe6bOlYDW1k8K25GOKymJb5ubz/nPEaDhvDWnPOU 75xV1GYJ tqJifj5AVA0ZedRJwwECOonJjTzNFkv8ymF/AfkqB6MgRaFCH7GbAcXuwpEPwacpEbJgPwunVsjlmuL9GtOOnIt/vwd6Bj81zLn8mlI+vwtT2FigRE5Dj5HgmN/RU7t+YeELEZ/IJpOX2k4IKHdsyS23hOtpattWPZxcgo3fTLzkQ+8PLlS2EdH49M8hdxcLdcXXBz6EBAOObjW3dxwKCH83yeXWF1cnYgretsfFWigaFJ0vcNTYfhmu4Mbu/7+B4VMzRNI6py3lWBCRO8Q/V0GadEw== 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 keeps all DAMOS filters in damos->filters, and will make damos->ops_filters to have all operations layer handled DAMOS filters with upcoming changes. But DAMON physical address space operations set implementation (paddr) is handling only damos->filters. To avoid any breakage during the upcoming change, make paddr to handle both. After the change is made, ->filters support on paddr can be safely removed. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 25090230da17..3e651308ba5d 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -257,6 +257,10 @@ static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio) if (damos_pa_filter_match(filter, folio)) return !filter->allow; } + damos_for_each_ops_filter(filter, scheme) { + if (damos_pa_filter_match(filter, folio)) + return !filter->allow; + } return false; } @@ -287,6 +291,12 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, break; } } + damos_for_each_ops_filter(filter, s) { + if (filter->type == DAMOS_FILTER_TYPE_YOUNG) { + install_young_filter = false; + break; + } + } if (install_young_filter) { filter = damos_new_filter( DAMOS_FILTER_TYPE_YOUNG, true, false); @@ -535,6 +545,8 @@ static bool damon_pa_scheme_has_filter(struct damos *s) damos_for_each_filter(f, s) return true; + damos_for_each_ops_filter(f, s) + return true; return false; } From patchwork Thu Feb 20 19:35:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984436 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 1845BC021B3 for ; Thu, 20 Feb 2025 19:35:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CABBC2802FE; Thu, 20 Feb 2025 14:35:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C5C8E2802F3; Thu, 20 Feb 2025 14:35:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A60232802FE; Thu, 20 Feb 2025 14:35:20 -0500 (EST) 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 80C2C2802F3 for ; Thu, 20 Feb 2025 14:35:20 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 047C882C2F for ; Thu, 20 Feb 2025 19:35:19 +0000 (UTC) X-FDA: 83141326800.22.1313704 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf02.hostedemail.com (Postfix) with ESMTP id 67DDA80005 for ; Thu, 20 Feb 2025 19:35:18 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=G9946da1; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 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=1740080118; 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=sIctDYQyrFSM2cXYGJVAtURLP1q/MdRjqYByEXer1vw=; b=0VxQ9NutwdLx46TdJzQoo/54s2jsSWdXiRJaUyAwu7C6d+LbDglK0iL+KVXAlBFuTiPoN7 OcudcCo0m2tPk8Xk7mBDwIZoWDRlUVjykox1Ovz8+wvpusehUxshwiThGw0I+UxiV+Z8JY N+7PiITqEef8wsz2MVJ/tiaelhELmzo= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=G9946da1; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 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=1740080118; a=rsa-sha256; cv=none; b=LuXvzGnCXIHlEJFv48nm8PhQYYbUrtNTHCnvonCi6faVW5IF4M5EYdwEVWx0C+yBgMC+TU 2fnXxtjh0yKD1coc3C/Y4HH8Vt4neidB0ibOUwhDJqkTBk2PytH14hKu8dM5qs7bDpMTpX L5HDUMyw6/6dIFx/tYXbmUxR36/8Mgg= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 5AFB06132A; Thu, 20 Feb 2025 19:35:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7B1BEC4CEE4; Thu, 20 Feb 2025 19:35:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080117; bh=2GbFALk/c9BNCc25jRYoGVkk+3jSEEjMYTr49dqSrPM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=G9946da1cnNgfEsUSUknhKQ7sBC0WcrZgLi2EGaWpPPeZQl7zaAsOY7m9rrzO9r3R 2rL/pyrK9jJc/Vrw8TBPEBETY5IPECmuJ6TIZ3KyyAp1qMx7Z4IBoMR2tXmv6hhsOV 2UEsVohJNOsUYe03IrDOBI7o0Y0qGAyewwoZCNlru/RobSC8bDnJTcZNZWSiEoeUUQ hkmGRAfGNh/Mjkh2g1+GGRPJn7cN7vZ8m7uRXvL+BjX1p1abgtAnknhAyY37zHJuvv REImn0dECTmcI7Y7TIoUQaV67vTnq8ZO6VSQKpVb7Di5mdZuVjx7zjuWgAF50PdHqm m+BMGnnF7R6BQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 3/9] mm/damon/core: support committing ops_filters Date: Thu, 20 Feb 2025 11:35:03 -0800 Message-Id: <20250220193509.36379-4-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 67DDA80005 X-Stat-Signature: facyun6mqw5i4rk3cxde5n57m1j88x47 X-Rspam-User: X-HE-Tag: 1740080118-253415 X-HE-Meta: U2FsdGVkX1+t7JJJj1CQTHwNn/6826smKSHVqrzsE6+7kBmWnxdxM8pxvEpL60drmwF8Tki0K70IfjVxD09k9eqBtKLDrCLQ2vlnNcEnWi+a0SF3nB274Vry3tW9pozyRNWwTc7iVEj7N2MAeABN4FH5YRK5/Biu41rfQJQgQCiDIK5+GI/r1C6zKdbnr3N3zfPdRg5Un/ANGtjE4Hq5UKO5eE9DDZ4rTc1sSzjL12Wn2Ls6i3vSX3iDx3bJ3epxx2in7oZmJRVBXsIXE9Y/pRlm461Ps+khzWk/raw1282+XfmMrZP7pdqAwq9mR837ya0RN5LIR5VD7d+WuX5VepS7SKaTbESmJHt9Nr1J/4ypMncZwS9KG3ROwa4H2IBcm0tdwaGn0hmBoDLKjXhtjeRAtEdU2cY4GxZ/prsarDGS5/4VtfOc/BTRG4SwncHy1bSlu3auvdPUCihau+vPirH/DnsFz8E5TGJ1BkNcB578WEuxfFARY8nwHVGs5hx8Tcq6XXpL09+YlELYfs0ttiljV/3Rx37ogw8h+2NXFuXLXHQPqkMilX04jGySpiwpjxV/PgxKmasoG49ZyvMZ8vhF+C5hPTPcFwJH9+PmeFq6gvbOq4qpbabhEgQEaUwOzk2kfngDTmXsxFuQX5JCV72JfaeUqwISKGaXiszNdojxPRK9Op1KGqrtvHtMIG1qBDerrmiKriijbksA2ICwb5r485PKFDx6B5+UfopDFQOP3iJjp/s0oAbOCv0dSFjlEFZiAKqQW2FKGc9bzjJfY6gWNo2pVFsDB8SkbPUu5TDB3VuwWRguihyEQrm9qUJFmXwW+okYJmla+072jeZU4F9TwZd6+Q4SetWDFTwCtT9N2tIKKVLMol846HYqI062Ri3hnt04Dg/9TwrSxaioSqBdJoapcJAtVQYkigSPW4B/FF0nG5VtaDbk3ECHJI/l1RKTuvcfgdJe+j5SO9o J7bKrgvC HWNziC9zw82jg5uZsVuNIdpIUeu9kS3FEcEGlFBox+R3XmohvM16mE5+d8r+6VUoUtKFTRqaTHSPeFQUZhg4RJzh6dwlGCU3+CIUpr/o/lYQHgfv0OyS8qpcko1smyo0n81yoH71p9mHPp1pA+fH8SA6WiZirB83jQ4nCtQET/WOWOqbWey/99xb7NWYqPxSnwJsQo1nTQ8ekhWfZiACGPVIiqM44pX8eda5G5if6GPlk9i2F23S5kl15eorqOI/1hvTJNie9BfUCsoGaH8ww/RQmng== 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 kernel API callers should use damon_commit_ctx() to install DAMON parameters including DAMOS filters. But damos_commit_ops_filters(), which is called by damon_commit_ctx() for filters installing, is not supporting committing damos->ops_filters. Do the parameters committing so that DAMON kernel API callers can use damos->ops_filters. Signed-off-by: SeongJae Park --- mm/damon/core.c | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index bcb7e42098dc..ffdd84ff6fa5 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -793,7 +793,7 @@ static void damos_commit_filter( damos_commit_filter_arg(dst, src); } -static int damos_commit_filters(struct damos *dst, struct damos *src) +static int damos_commit_core_filters(struct damos *dst, struct damos *src) { struct damos_filter *dst_filter, *next, *src_filter, *new_filter; int i = 0, j = 0; @@ -821,6 +821,44 @@ static int damos_commit_filters(struct damos *dst, struct damos *src) return 0; } +static int damos_commit_ops_filters(struct damos *dst, struct damos *src) +{ + struct damos_filter *dst_filter, *next, *src_filter, *new_filter; + int i = 0, j = 0; + + damos_for_each_ops_filter_safe(dst_filter, next, dst) { + src_filter = damos_nth_filter(i++, src); + if (src_filter) + damos_commit_filter(dst_filter, src_filter); + else + damos_destroy_filter(dst_filter); + } + + damos_for_each_ops_filter_safe(src_filter, next, src) { + if (j++ < i) + continue; + + new_filter = damos_new_filter( + src_filter->type, src_filter->matching, + src_filter->allow); + if (!new_filter) + return -ENOMEM; + damos_commit_filter_arg(new_filter, src_filter); + damos_add_filter(dst, new_filter); + } + return 0; +} + +static int damos_commit_filters(struct damos *dst, struct damos *src) +{ + int err; + + err = damos_commit_core_filters(dst, src); + if (err) + return err; + return damos_commit_ops_filters(dst, src); +} + static struct damos *damon_nth_scheme(int n, struct damon_ctx *ctx) { struct damos *s; From patchwork Thu Feb 20 19:35:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984437 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 98295C021B1 for ; Thu, 20 Feb 2025 19:35:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5593B280301; Thu, 20 Feb 2025 14:35:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 509A12802F3; Thu, 20 Feb 2025 14:35:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35C0F280301; Thu, 20 Feb 2025 14:35:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 15BEF2802F3 for ; Thu, 20 Feb 2025 14:35:22 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A421E1A2A0C for ; Thu, 20 Feb 2025 19:35:21 +0000 (UTC) X-FDA: 83141326842.26.6AEE19B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf22.hostedemail.com (Postfix) with ESMTP id BBE6DC0019 for ; Thu, 20 Feb 2025 19:35:19 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BeyIYp78; spf=pass (imf22.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080119; 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=nOuYYFCqUYvdStHzjm1Zzmk+QBIXzZT71mRupZ4DgI0=; b=ZnyXbvHESYd+cw53beS7GhX28BIfMDOHz5PxhavLT7hxY+/pVEqMwu8tmriOUTtC2K96Xs W+hnq91jNd8FbIdB3rORpIhTqSW48ippyE3KMmHH2hkikN2YlBsM67wo+nxbO+0hrsFFVl ANdaW2adj5j8NBmpt0/FNYYBp8kZYT0= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BeyIYp78; spf=pass (imf22.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080119; a=rsa-sha256; cv=none; b=iPRLBA9W/pzsDbvTBC9OiLujRmdMQcBufFohRU9lcIJb0BzRcJpwdfp/ZFqVFj71gQjR0L reTv3zVPhPE0HG1XAQPFbNbs+K98J1KlwcNfBWduYz3sjp41+MDDBgqKBn47ddBUolYjBM xvzgBVqQ08mc0Bbg/iseQLS2sGNoRUU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id CEDBB5C59B0; Thu, 20 Feb 2025 19:34:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99E3BC4CED1; Thu, 20 Feb 2025 19:35:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080118; bh=GU12uco2vMf4JAexsBOLi5pNACf7z+JWPqGOUvIGCS0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BeyIYp78GztU1YYwb+ca3cS2Yi8BGrJD3+R7gQXyZWNhNe6K1eIWckOwHrUEGeFQj 21vcAgPEer4wqEwTJLzAzZ3riFyBOSPwGEt4Myr9BRaQG5/cnNuye38TmkNjBK3T0L EDHfmBOcvRtjIrtkwONumdBuwS5XWBFhwDMEZLvgpexhs+UrvRZ7m9Sj0Dekp/IekM odpTa6ritv1555zu1SF1eUNwc0Xk57Z9VZi4+rHWc2Or0na3danBy6cEnuMVP1j8tu 7grOWDow9U938cuH6/agBg+ZWIAn4fNkD58ZTAdFfsvfBbEDmDWHYog0XIXIHSaGAs CVxgLV9EilVtQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 4/9] mm/damon/core: put ops-handled filters to damos->ops_filters Date: Thu, 20 Feb 2025 11:35:04 -0800 Message-Id: <20250220193509.36379-5-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: BBE6DC0019 X-Stat-Signature: gjmomtw4hnr4o1mmfq9bmxm995x7m3k1 X-HE-Tag: 1740080119-603465 X-HE-Meta: U2FsdGVkX1+VVDZqkMFk0YtTmL37CIDlxM9IVl7yiBCBVVx98VrK9j+8Xb7TgiuVxUVknFCrLRkx5IGZAJVZQh+CDbCor4L7PcRhtU5rt0nFfI7Mu6Utpk+MsNvKVCZgmmJuWM1E2t4ninJnpWQ5kQ3wrvHJM+iTLf7AD6hbSy+7Uvsb/P9MviggeViW9ILmmSL2cHencMtg5i9YAIio/y1BqyG8e9wr0YJOW4OLEdVY4YntsxN+/P1xfrheVDRK0xAm8RAVGi9Tne5wBTEMo0uiHZR8N2U147YOYBRQP1GcXzFRMcZeugWsVea9h3NL68fqnmMPcVzwQtkCDbRoCXLlTkQQtxD0Z9lcNms28XWw1dAupj+wzr6xl5ifWMZ+ofRzbhb80SN7DTuYA3GW1Gfo/QuMXsJuA8QhVA6wItfk0RRVICgBEu41mz6zE4OM0j0bPxUTKr99Pw3hhX5cq2NFiCZMqkk+JoiQ7d36Em8L4q9SprA7IhAxjrfuoinIHzfQ+dF1xtbsY7SA+IlrkpTxavTSrZvg7YzWazLKL8ogJcPYqWP+TMSRvTWy84cljb6fN/3PXJUUcsUweuOC7P6Vnju2z5XwyYn2VVAOuTHDhCikKhLb9Q3bgIo0CS2YyEEzCXCKhPc9femZy28Sty9D15ny6naGoguzQwhQyRHVzhaqKeZD8aL3FtIDNrfZSgU5S3ST+B9hZIQL9QiqBb4MyaBSreKiWlka0/Ky9TS0srkqdcz716Z3r6gnHpAPWrL8VDYh5m1DZy8Vgb41n02CplriffE2QggDiqtMWwwlnMsNvqkiMtJK6a+2obgxEdbjpGBo9VnMWD0iD4OYwShoOfrPbTDOm46tGrFBTkn0wU1qd930LVqP9swATH3kd1msCQKOagpMIPNjhGZ+uQsxxXIJ7M8Ou2qghsGOuyXbJHR6sJ+fKMiTLuZPaagS2QR8OeBvdcZgf1OBcMY WSf4LXc9 xNlLdeRf87TaFUjf9Tj8851g6Dv8IRhJPqL7v8jRTnMEG1sAuZmvLA+1AJLjM9HrstsAxw9k0+2tIs047OfyD8NL3RoSVVb+BLpdlvSAeigGm4Dn8u23PZOjMNcVY+TBmfuiyIEAYhRz887NzPB9t7qylCTljr/V8/d7UpQFXJNFmbWRxcJgfRVZUufMTm68o7U6hFll7iC67oqqKGmnN3InwY2oy7c78NDelnHMV82wIjRXY+i3NfF0QGuCCxiPkKAOj4v0J2OMs98G98aVCpZ91Jg== 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: damos->ops_filters has introduced to be used for operations layer handled filters. But DAMON kernel API callers can put any type of DAMOS filters to any of damos->filters and damos->ops_filters. DAMON ABI users have no way other than still using only damos->filters. Update damos_add_filter(), which should be used by API callers to install DAMOS filters, to add core layers and operation layer handled filters to ->filters and ->ops_filters, respectively. The change is applied to both API callers and ABI users since ABI users use the API internally. Signed-off-by: SeongJae Park --- mm/damon/core.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index ffdd84ff6fa5..78126a5145fd 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -281,9 +281,24 @@ struct damos_filter *damos_new_filter(enum damos_filter_type type, return filter; } +static bool damos_filter_for_ops(enum damos_filter_type type) +{ + switch (type) { + case DAMOS_FILTER_TYPE_ADDR: + case DAMOS_FILTER_TYPE_TARGET: + return false; + default: + break; + } + return true; +} + void damos_add_filter(struct damos *s, struct damos_filter *f) { - list_add_tail(&f->list, &s->filters); + if (damos_filter_for_ops(f->type)) + list_add_tail(&f->list, &s->ops_filters); + else + list_add_tail(&f->list, &s->filters); } static void damos_del_filter(struct damos_filter *f) From patchwork Thu Feb 20 19:35:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984438 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 537CEC021B1 for ; Thu, 20 Feb 2025 19:35:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D6FDF280304; Thu, 20 Feb 2025 14:35:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D1E972802F3; Thu, 20 Feb 2025 14:35:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BBFC6280304; Thu, 20 Feb 2025 14:35:22 -0500 (EST) 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 9D1892802F3 for ; Thu, 20 Feb 2025 14:35:22 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5DC0D1CD16E for ; Thu, 20 Feb 2025 19:35:22 +0000 (UTC) X-FDA: 83141326884.30.11E642F Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf06.hostedemail.com (Postfix) with ESMTP id C10C418000C for ; Thu, 20 Feb 2025 19:35:20 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ZeDHtsFn; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf06.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740080120; a=rsa-sha256; cv=none; b=O1JQMl7sh/q6KjEXUf8EIuXAPWabVYGUbqGqSUPS0+B7kxbYYS5JphOlJZL0gXO8k/vcsT UQ0hFVUAQW65BcNZ+ZoEckstySfdfm+GVLE2Pj2kiwofvongBT2ajDyhJNx+bCSR0sD3v+ ftnje6myNuYjlF/shXH1eYGlFNJXZPA= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ZeDHtsFn; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf06.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 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=1740080120; 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=JmfnBs8PlvfzmURi9zOXQ/OtJ4onMYrO02TqcGQw7Lk=; b=3D3iUhvOTh+hOTX5XMRCW2hhGnNXaPTMHPL4aRPtWOR/cxblefCCQ3ewIWxMmVWlIEWG6u PJ/CaFzDIOdoQu5aAT0I4R4tpKA0kdJa7dYvEqYQkZX/PDQvXGRE599gDTRNd9fappshpI F/grVeW+NZU/CCyApNLu7EE1wjanVWY= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 7E58D615E3; Thu, 20 Feb 2025 19:35:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1C94C4CEED; Thu, 20 Feb 2025 19:35:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080119; bh=unOKD6NYD7kObbIq6Phkmd4weQFW6UAeoYB9fTWAe20=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZeDHtsFngTR52TeMYoctmWNGqUoOWb0eIchFcx9LTiy6jhaPyB5cJhHIC8vL7qb1x dlO+ObLrleiDNl12SajbdA4sZ56fk0htLHAQb0i/C8A1SpCAc2dCWyHZMYIZmn2N3s p7Hvi9HGoSuAFamlBBRbIU+4UH+kRQszxOt2V2A24pzEsDzkP/lr3zozhXDYdFdYsC F4G9FzjdYzNf76y9VlhOg71YZ0OtJa1hc7xLW/5Yj52aRZxLJFqeHOw+5I4beOFmrb Y0ZOeg5yVkhTgzCBUKQAxD67NNg4tpCwhL2b0Z7+za2z8VfEGoUNpNZZ8Tsfpy8amX xVYqW8nLpemPg== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 5/9] mm/damon/paddr: support only ops_filters Date: Thu, 20 Feb 2025 11:35:05 -0800 Message-Id: <20250220193509.36379-6-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: C10C418000C X-Rspamd-Server: rspam12 X-Stat-Signature: qys8e1eqo34pb8o1jed8puq9r3e3i5fb X-HE-Tag: 1740080120-657259 X-HE-Meta: U2FsdGVkX18cKB1YZwayH1yBLZ9wzETRVtWTk7b2I5xvF/JRnlOUme/bzKzvLGIyj4Hr7DKH3i539+U2ySDkhMHIzGqXPwHlz7VdcHxggnTGDOq/dlq/u9JpY3yT4SS9tfIZF+cntNqKSYxNknvCuTL2JLlp8j5snH498pzgQKek9ruuEIRcymUfQXMco3o0exJFzRoG6Fpef3QA0E94kvUEADKz4RUju68+x/mIFj0/F+HCdMwXhs2yiLi6AahRkWc2RGkw6mg0U2hXHGYKjac+X3+hKPslTgumv4bvamoRi6dLmYwZforRZeeuIpKWnX3hkXpHH9usEEOsn0zOqs0JUst8sY0dG9LF6sUwXw2lf/VLf8/K+8HuskqEbpHfjqr7iLxH2VdFLsAM9cgSh60Z8zZRj+FegMKzvEIp2FlquOPLMWQNGUcdBhI5UCFC5acus9Z3/knDff2gyl1vq/GZBSKjjlgLYGtUHJOVHXzD44+QhMW8wyadithMa4SVOyVDSkTjIDRruGuyi4k7bITwCbNKXmvGrJFrH12RMDVvoDJIyYRh91tRnOBDC9IItOwhUkrIZdHBJd0yc+11tsDMG7EL3bwTSv7ZYzk4r1NXJZK5MR2OEy1kIFl4PIslPKHraLqkprtlwEsNlrxogknyFkFkVjQv2tyKR7EQZ2PPHY8PxE42P/N9Hp2h+xebRnm7ix7qO2uDV+ucTThwQvWwx8NgZIRHykim730/fIcxsL5zxf8H+Fpub37f1kmcft7A8qh/rzK6xVhQ+ZX4dRabZdZPFjjdp/PFQfZ0zL1KpVRbDEDxJK4F8dOsy3DBl0QHT8nGdHjXwDse3v8IkFSww3DIzwFP6CWT8xmDppVpvjWqQLMidYGKhFHyOXIa7e2jvEIDcSI8IpVb+EWBCjgXnrWzVD5LTVTO058asnLng0BYYH/WKjqy3vy2aO91FAcK457RIj6csJu7VR+ LtCAa+ff YiVW3jYuKl8T0fvAbzRZ5zMVWtDId/0Kt/SZkZqm2vuwtAeXehvY8t3adDbxXH7suIP0Cq0+k2ldYufiuAzzHojNbPSQgOQrl39HX6Nz2iUZCPT6tfXnqu7Xh06UpYU2wFP1eIiCAxR9Hs9vz/2wgpeZs4XP+sgND3QcbHF3qaZes9bKAA8t5e+0rZCb5RQMI/WmlbL8xFHw7GQAg+s/HR6J6LwNb0m+QD6FlglGWbVuCaGBtrhKnkc08PIB2B/Xnpg3dFrD/sGFpZrXGVNuU9k/RWw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000441, 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 physical address space operation set implementation (paddr) has updated to support both ->filters and ->ops_filters to avoid breakage during change for the ->ops_filters setup. Now the change is done, so paddr can safely drop support of ->filters. The support is only waste of the time. Remove it. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 3e651308ba5d..432ea4efdc4b 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -253,10 +253,6 @@ static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio) { struct damos_filter *filter; - damos_for_each_filter(filter, scheme) { - if (damos_pa_filter_match(filter, folio)) - return !filter->allow; - } damos_for_each_ops_filter(filter, scheme) { if (damos_pa_filter_match(filter, folio)) return !filter->allow; @@ -285,12 +281,6 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, struct folio *folio; /* check access in page level again by default */ - damos_for_each_filter(filter, s) { - if (filter->type == DAMOS_FILTER_TYPE_YOUNG) { - install_young_filter = false; - break; - } - } damos_for_each_ops_filter(filter, s) { if (filter->type == DAMOS_FILTER_TYPE_YOUNG) { install_young_filter = false; @@ -543,8 +533,6 @@ static bool damon_pa_scheme_has_filter(struct damos *s) { struct damos_filter *f; - damos_for_each_filter(f, s) - return true; damos_for_each_ops_filter(f, s) return true; return false; From patchwork Thu Feb 20 19:35:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984439 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 3F896C021B2 for ; Thu, 20 Feb 2025 19:35:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4EB79280306; Thu, 20 Feb 2025 14:35:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 41EC42802F3; Thu, 20 Feb 2025 14:35:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2707D280306; Thu, 20 Feb 2025 14:35:24 -0500 (EST) 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 087082802F3 for ; Thu, 20 Feb 2025 14:35:24 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A918954168 for ; Thu, 20 Feb 2025 19:35:23 +0000 (UTC) X-FDA: 83141326926.07.53E0A45 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf22.hostedemail.com (Postfix) with ESMTP id 16E9BC0019 for ; Thu, 20 Feb 2025 19:35:21 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=g5wpSXB0; spf=pass (imf22.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080122; a=rsa-sha256; cv=none; b=nxELOUhIz0zgw1yW6Vpo523pylAfh9zQ7Wi5jlBMLg3ncCiU57bs322Nmwa9v97rxb/zlR 8LdptPlMtgzc2fYFhWT9sNXYX2JhCMLyKvNBjwmjDVeLgrfDX3oBnA+RF579EVK16xJugy B0GZ40SX0LC6n/R7hAcy922k4lRtkKs= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=g5wpSXB0; spf=pass (imf22.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080122; 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=FirXGCPpBJWdt7DthXCrRA2iVf6WQ0HzBuk2G+wSHII=; b=PtpVaZUz/NBNVVE4kZt4t5LlS/E6ssmSHZ1KqUOsZqZwbE4yNOT8isKGJIP5jpQ6zk8XA3 xhvFdN2VY8gkazmCT8rcZ3eDFvOWHPK3T/Xuhpkn6RaG9UPjtxF8FQi5+b8wpiK9ATuJ0o 87GaHVYC/OZxe/HZOxPnGeF8lW5dbTM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 326A55C5AA7; Thu, 20 Feb 2025 19:34:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE2EBC4CEE8; Thu, 20 Feb 2025 19:35:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080121; bh=uLWk0L2++5bEUyQjMvEroTzbJCsf/vG0c6VnsayYa2c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g5wpSXB0xWAYFdYxadyFQPbgLpDM0/1qjullH3563QQ4FUKx9aM5vHAllNxd3p4n2 9tDIUjdHNS+BveHVKwcuesbXd9DyLqOhu+q49vMivrcW7VBXWoiPnJCBLjAXoha/ER RJxZrqCJxX54Llwb3klHpUdvCCL9XpCzNc0E7u2ZDPvolKfgsUQqzDAIxiVWjJW/VV +EtLzWhMcTGpjvxBIUYM4OzkptA96qiEZ7giFBKmVEggopcPCsQYcUSUNAcKmuvVJm g39QdCW4k+2b6xbV2N0OvXTtbRq+6X395aae6l8TOstDmdlN+bNehkjwQZqXYSdREl 8Jxhm+V814BgA== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 6/9] mm/damon: add default allow/reject behavior fields to struct damos Date: Thu, 20 Feb 2025 11:35:06 -0800 Message-Id: <20250220193509.36379-7-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: o9ujm4mh9wxe1dyho7k7o9e4ozeib8zt X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 16E9BC0019 X-Rspam-User: X-HE-Tag: 1740080121-634906 X-HE-Meta: U2FsdGVkX182rP3s/bx40HrUZGnIqCXhHvYrDY9Y1gTBMrZkdWrkeVe056W9MQRJFy90FKsl/8Fv57B646KKGF/txwQGcYq7whxdI3OmU+FM8XH1id3QqT5vuvuu5gkpDhKfsxQQGdZtT7VSz8Cb7bXit5vfhms/1b/IHQ0HidtkYjZYkziInLAIcyHj9fF6g2Nsa9QmbJgjWh4P6EM6hwhINZRkHAsjmlpXtm1rOOydLaUidnLLcLHoHogONSLNh97ndG5H+d8XIvlH5ACJuCePDaBCfCxvJRhb27krhFxjFSbirsJxMVLr/PG7hpTNUz+ueKL89bBXzrXUXgXg5pebojw6mHhhTkYIiiRhvHyERY0/5QLPDXAhZ54DIMbuJ2ZX80Hg3jxLWHDw2PujNCjF9C51e/BLzE4/YhO63r/PgujB8HxTszTb+PFT5NCewcN+w+xw+P66LgrCbq2q9trKUhWWDsYADsdO6Id4ZC9XN8YuQlvf+4AqxNhCJpj/xOqu/sFKprjgPf1X+uKextcvjubqwy+mmjO72GyYpVDQTecBnGBgLsnyX0VtLWeXD0R9FT1SlYtiWZuLsh44ETFpSoLbhTwYGJ8o/ETIdOOrbv18/cYHo0e5Kb+snwH+6kGaolVyztRH8MnKaTakYXfySPWvKoDjam12EPd+TjJm587GTKCx0nePv45VQ0Ak1jwfa7ldTchdd0hP4LHaOwOGHjaAoMq69ByAWXqg9fJRuVPYuN3v9H2dYlMUyQpJDyEu0L/BixcXEb/BmyhrPKZmzv5rVyR6Ux9LPC1xbrLnlKxoGu1STZZAk6YFVImBz42xD4X1qPicJ6JwTLmX0fcZmSp+hqj66WkXrjCWpk3HwX36oypjWo3a3mm42WBlFO/Zf2KCzUK2EJecEdnYEEwjXeT5nu1/VuVDUDgzZlxIt1zpebwtxYvgkO9So/US2KzvxLA1dfSY7rPnZbr 3QsPbbCE +IlJsOzHYl6WeVZHF6PEGBjSGFVlf2lS3soze0oJHc9aznpgB3LgyVJReSFx1Tzd5/OTQNVsp9X1Fa3IQ8+KNmdiZNxWC4lJu3pDwVk38oZvcL/Ien+JqVNosExceSNayMj1OLWNklSfbraN1T1QghAUToOOEf7fJHHBxQeGOeRCRc4pMHqv7eL1xPymQzXNMCO7Y1TH0/qPNaG8p7g0JvYiwKQkQE1jWWzKiWSzR4MhrTXQ= 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: It is more intuitive to decide the default filtering stage allow/reject behavior as opposite to the last filter's behavior. The decision should be made separately for core and operations layers' filtering stages, since last core layer-handled filter is not really a last filter if there are operations layer handling filters. Keeping separate decisions for the two categories can make the logic simpler. Add fields for string the two decisions. Signed-off-by: SeongJae Park --- include/linux/damon.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index add82fdc1117..1d8479f57f85 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -497,6 +497,9 @@ struct damos { unsigned long next_apply_sis; /* informs if ongoing DAMOS walk for this scheme is finished */ bool walk_completed; + /* whether to reject core/ops filters umatched regions */ + bool core_filters_default_reject; + bool ops_filters_default_reject; /* public: */ struct damos_quota quota; struct damos_watermarks wmarks; From patchwork Thu Feb 20 19:35:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984440 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 40769C021B1 for ; Thu, 20 Feb 2025 19:35:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C1194280307; Thu, 20 Feb 2025 14:35:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B98292802F3; Thu, 20 Feb 2025 14:35:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3B31280307; Thu, 20 Feb 2025 14:35:25 -0500 (EST) 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 828852802F3 for ; Thu, 20 Feb 2025 14:35:25 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1B35454164 for ; Thu, 20 Feb 2025 19:35:25 +0000 (UTC) X-FDA: 83141327010.19.97DAB7C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf08.hostedemail.com (Postfix) with ESMTP id 6C337160008 for ; Thu, 20 Feb 2025 19:35:23 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=TLqc64Rq; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf08.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740080123; a=rsa-sha256; cv=none; b=cJ+ZiFlrm7Eo9LxnUTWT4LYVv+lVUjsHA8e6A2qxooHuWCd6knF6PmUouh4ifUsX7EuHcO bUm0j2IL4PcmQCnxfaF43YatFrcVzj7S5nxwbA00d6GeSC5Dno6bEn6t5lFiovvUxsBWeQ op4k55uH6gAx9hybOl8SAmZVxmryric= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=TLqc64Rq; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf08.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=1740080123; 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=qiX4c1Zy8fGoFyrn4iTBs4krVc1l5lNB+Q6PtzIjDWc=; b=rJ9eSFJFomYrsOIxEwEoM+iK8iqiuH8emSoQ7iI6FsoAOK5B/5kCfyy3xA2C2XF66b7Xg3 nKcMRQDjrHdgaKpXW9EWHmHR+OYo8K1/CVKed9FOco2QpawcZ7cvZx6An84G735Ob3339W dWyxwpqFrJuL0/iC+IjJvzeO9ruhvp4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 5E5895C5A1E; Thu, 20 Feb 2025 19:34:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 255E0C4AF0E; Thu, 20 Feb 2025 19:35:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080122; bh=wusvJRacW6vYvCH54BiAWS1KizhtAHCC8gqFD4D8VEk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TLqc64RqWA6JWSUep9kax22dPADZ3GBhFdf/qoAj3myZcuLBsfW4mfY7gO1QPp6Oc 3qDscqg7nD32T35IwbnHtCa0MyzpA3Dz/+QGhRAn57IgMPOq5+KsRCS1FMkW+xlNuW JeeOVnLCn05CG7ow/7cyK2yfifr1Vte4kwI6v7TqhXJxdZEq+ZthJxs8QyRAYTFfwP cVMnFmdokR+t1DIDUHk0NdlrFuv6iWSHMqagG/GecEcW9zSkwYexx3UwAgDq1G/zGY 2qjBr8uzR8QPAAy7UnQEGJmBOYdFsuovqesfw6CKC+FZujBTEbyT6Ebcv9D6zCKHjw Xlf0vDZdnP9Tw== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 7/9] mm/damon/core: set damos_filter default allowance behavior based on installed filters Date: Thu, 20 Feb 2025 11:35:07 -0800 Message-Id: <20250220193509.36379-8-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 6C337160008 X-Stat-Signature: kmrpgfmp6atfwp97oiwnbbotrmwdqzhq X-Rspam-User: X-HE-Tag: 1740080123-173899 X-HE-Meta: U2FsdGVkX1/2XjVHCCxkq1dgCM+deYOdHac0jNEk2zbFMYZcGPGA8W45lQGC2dlVQXUGHuRK4fsZQIncEZyVwYEnEiPIMkRH4C4u1sSTZkFI+2rUiyN6Pxl05A5s3rPnfzDfgy3cuwu1K7cl264cu/bMLvdy3tyrpt/oOs5RYZnfKpNdjSNkr61X6Umqq5j3yjQM2/ymmbelXHSps81SmqJx/4atR3ZtpLhSOec13Ew0ZTDFQ8BHnYlkLOLXwBdUq82ma9TeNJpfbup7rBcyBvGtKy+kwsmtCCkREsjTE7vY6f4nwznu36pgdk2ERBW3SP4YqCpU/Aob26RWrNoJQ/7uJ3HR8RioY4aUa/luK+1DmesKRkp8Tb6OotOfYSX2sedjAPZZgF/r5sbdbKvRQpCFWAuQJJrzADhqk0FkCaONpL7P1aiwgEz24qwjGvr9VwOu76Ey4HJswd14bcmRvHbVyNghPhR2NAGw71WZmImNhw7lIRaLz/f/1p9oNQaUeHeBvortBw9PI0x9gLAojCh9tHOv82oStLz0tMQPXRAAcs7oTzXRgdwL3+Nhju8Jx1tM8+9GsntxfqXDwUllXoUaKbcxqssznKWmwqBM9Bvalk1hUDbCav1QQtBLM3QGsEB7biQ0HbznheX8QZdfIw3XBEkZOIKavX42/t3tnSw+ZbAJ4GpI4w3sbITDmEUfB1St7hQHcx+AfcpFnjtnMaxVrTlFNb/gR8cuMSKKiABxU3ymp60Tyi6EzDcrpm1GTffONJ6NjDL4D6BWXv6exkoSaNa8hUiurnH8TjTsVcr2YobBG91UIxldaeoZOjtgvq2EXkSk5tM470vyjOeZEO4Vp98rdLzyfvXrxkmW3wujj2BmxYhFxHeTafl5gJmIDv1uIiUPUvykGOj97mgsvUbKW55POh+hXB7qgpNy30NqoRgJoyOW4cfTn/40qeLADcL+DJhKs1LvoQBv5T4 hNyOF5OY MsRfoByDHDSMmW4fdPYcFTRJNyZ4WkrTj+mGtjKe9tca76UNKF77olgyJ1tMMLjzdNXz8W1R1JxvjUCfQuDNVrFWVgIfmNr8qjfuOa4sBHXxp0LmBKiHPkQWIK8p3fWSWYNYl1DLPkKgG9KNmSxIXHzvjEPh9RYr/6dwkTjUCdOqiIuXvBpVq4UQGjI9UZBNyZ1mT9sI/XT/ChrW7wHsokNIIzoc835ymM2i9fV6gjbrvuRDHKbwnEbPKL+0306ChaMApcLiuKXeICRF/avaJ56iafQ== 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: Decide whether to allow or reject by default on core and opertions layer handled filters evaluation stages, based on the last-installed filter's behavior. It is the opposite of the last installed filter's behavior. If there is any operations layer handled filters, core layer handled filters stage keeps allowing as the default behavior, since the last filter of core layer handled filters in the case is not really the last filter of the entire filtering stage. Signed-off-by: SeongJae Park --- mm/damon/core.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 78126a5145fd..9744ab9ca5c5 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -864,6 +864,29 @@ static int damos_commit_ops_filters(struct damos *dst, struct damos *src) return 0; } +/** + * damos_filters_default_reject() - decide whether to reject memory that didn't + * match with any given filter. + * @filters: Given DAMOS filters of a group. + */ +static bool damos_filters_default_reject(struct list_head *filters) +{ + struct damos_filter *last_filter; + + if (list_empty(filters)) + return false; + last_filter = list_last_entry(filters, struct damos_filter, list); + return last_filter->allow; +} + +static void damos_set_filters_default_reject(struct damos *s) +{ + s->core_filters_default_reject = + damos_filters_default_reject(&s->filters); + s->ops_filters_default_reject = + damos_filters_default_reject(&s->ops_filters); +} + static int damos_commit_filters(struct damos *dst, struct damos *src) { int err; @@ -871,7 +894,11 @@ static int damos_commit_filters(struct damos *dst, struct damos *src) err = damos_commit_core_filters(dst, src); if (err) return err; - return damos_commit_ops_filters(dst, src); + err = damos_commit_ops_filters(dst, src); + if (err) + return err; + damos_set_filters_default_reject(dst); + return 0; } static struct damos *damon_nth_scheme(int n, struct damon_ctx *ctx) @@ -1490,7 +1517,7 @@ static bool damos_filter_out(struct damon_ctx *ctx, struct damon_target *t, if (damos_filter_match(ctx, t, r, filter)) return !filter->allow; } - return false; + return s->core_filters_default_reject; } /* From patchwork Thu Feb 20 19:35:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984441 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 04B75C021B1 for ; Thu, 20 Feb 2025 19:35:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 907F8280308; Thu, 20 Feb 2025 14:35:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 83C0B2802F3; Thu, 20 Feb 2025 14:35:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BCC0280308; Thu, 20 Feb 2025 14:35:26 -0500 (EST) 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 397B02802F3 for ; Thu, 20 Feb 2025 14:35:26 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 014A61A29AA for ; Thu, 20 Feb 2025 19:35:25 +0000 (UTC) X-FDA: 83141327052.12.E8636AF Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 65FCC100014 for ; Thu, 20 Feb 2025 19:35:24 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=oBhUt5cq; spf=pass (imf05.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080124; 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=13Afve5AEFag2Cue0hg9zCHB6GQJVZIcQxK+ozeWZ+U=; b=pqLbmTTiQS9yPvw9t5ehIu37NYogsa1+Nt3F8ngEkmJXpyL62SW+zxbiDtQqgDFZYo6mGy 1moTaYhmXcKNXdSadwJb9kKpeU7o/q7sqPf9ouW4Tv3R0VGS7N6VRltSth8Op+qy+j7Itb zOxInK8D/OW+5/ZyUVR6388iDp96OhA= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=oBhUt5cq; spf=pass (imf05.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1740080124; a=rsa-sha256; cv=none; b=7CgqxoXhaDCrYwF5slYr2maGkeYcGAcEkKOZTw3NYES4s51nyytYMGIJQx+nhhl5AZ94R7 RR4aBOWKBFd5N7kw/afXRKXE/CX0uwXmpfMlutwzDRdJRezcWqWWW5i8BwbezRAB7a9BES +xMfNEnSQUYKGFhenwvuYfv5S9L+wKE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 8BF445C5AA7; Thu, 20 Feb 2025 19:34:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 52F11C4CEE3; Thu, 20 Feb 2025 19:35:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080123; bh=nd9wYO5DNDexZlIChCJ3g1cCRKtQ8wQLlcDDnAi89uY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oBhUt5cqfRfFVLUVIBh0ebaIMjk9oVLJPjdVmaMCy7/d2Ux1Pi9XLxlNV7oFOnyHn y8TafmolN0o/wa2T92KEg65SnMvHZunZRhgH2Et0hPPzULK7XDhx3Vp/2k5gAPjfvb 2564iDB0R0QLY77w+ZBj4CwThq3rkH8DE7Q+wh/VAcT9V6eOyTl5/qzrFOlMhxK6RH Ugyg2Z1EDuAH0/1bRzahVmnSz25BoB20ereF9vX//ajC7+eMvfQh7TBkD1mDGRbdiF sntcsrI5Gq/EoBO7TqULxTkiFbGMMfYxuMs8nDos/M5OjGoJ1lbJ6Yu8oGnzkzGghM 592ZqUWxV5eCw== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 8/9] mm/damon/paddr: respect ops_filters_default_reject Date: Thu, 20 Feb 2025 11:35:08 -0800 Message-Id: <20250220193509.36379-9-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: scato7cq4w1em6oc86ckfsxbsex9cb37 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 65FCC100014 X-HE-Tag: 1740080124-464972 X-HE-Meta: U2FsdGVkX19TePqXQtnOFVNPZr6ksot3OW5K7lK19iPDXl9m+13zIplgQh3yXAhiHAGN5W0k1mXmBGSN0nLFbEVGZ+hmp3eN1DXrjulfmqCY2ehluYx0a0GTjvG/Xt0HuUfLxzY1gwypzsRQuN3qIHO/KL/MUhEl9TPb+elXhvFcsH9mZbs7IfujtDhpAEixmcuwTb6jW2qy5dvXlQyROLsdvdXwNZZmbr2n5DwGq2Dt31iwVcB9Nhit0YHtwGpMfLQCiTYwsYAMzMP/yRIC8KK1F8JzzjV0Dm6ZVFHcBQQuPe+WS+z0vKzcbpjs9a7pw9EIrLOPaeGsjWK/jEBb89XhVHb5UFpnbrzG6mIiSq21hDLbugcXKcX6asKLFBLBPwOj6Ad/GfVecOaJSWSfH4i2Rrn4Ywog3rrvxMKt5uhUI0xhDmsrUtsB+6WVNY6f6Q9+VnEG4QnIhd3INrtI8vVLHarnDndlBSQUP9IiB9K2g0u5yHhrhW1brQQwIEidRp1mulZOlUe9FmNXrMejDQZdkxxWiA4aq+JEgG7KoboeBgU/HIBcKEo6hhyWF5P7lsBOeOn0a3C/l3jHDZ3fa1Dq/OcvrcWR19bw//Zb/JSgLZhW69IWyN8uZUQa8zJRXE9jfKtFKSvC5NH2xv++EkEZ/YkRklOO7Ep9+A+iCT4pA1Vp8/82paSnlQ3de02V85g544VG46RFj2rnzVzdJoGWQVOA9wOO+TFJ1pTQ++6dNhgvPAdVwxntMq0Vv9hLb/9leo28nyPLpgqJiwmVPytnanl5jxG/1bvEnzEhRARdQjjBnRoJbXcU2VrtnPXYrVaqMqTgW3nHpMuZ9KyKvTn5NAFX3LfAB8og1XHa0Tbs+TOuInAjPw+PwXcNL9uG8N0KHWjYBplZfAWB1uvadeGvGc5Mh1cxSApI0j/CzQFjX8kCXNOIVOih4+B+5dmXIBw1zpSJRBOCZG+6vfr SOUhWLMI hoVc0H59zaOdXITZHDbrSRaX6X3gRGg7JLQ1dDCudUexScX9FDkyM7VfI4nnXLnGBNRWRfGF2gYxdhoF860MZTYe2hVWy9fJkaZN9WkDMj+cW6PRGad01ZngS/8oHWQ+dqNPfwO1J6OkEyFlEPxKm2Iu07FkBiLQWomdojSmPBXIGs6FsZ8nCKPGxUByZxnzMu/kM7NPd1bOiAO334siZ168hSWsCz3Qqpqvo0tJ89KdQBOB0krmBN1jIdtkOXf6I2MAVP8htVwbRimF0ZCbVc4jdrg== 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: Use damos->ops_filters_default_reject, which is decided based on the installed filters' behaviors, from physical address space DAMON operations set. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 432ea4efdc4b..fee66a3cc82b 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -257,7 +257,7 @@ static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio) if (damos_pa_filter_match(filter, folio)) return !filter->allow; } - return false; + return scheme->ops_filters_default_reject; } static bool damon_pa_invalid_damos_folio(struct folio *folio, struct damos *s) From patchwork Thu Feb 20 19:35:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984442 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 A3276C021B1 for ; Thu, 20 Feb 2025 19:35:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CED6280309; Thu, 20 Feb 2025 14:35:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 55A342802F3; Thu, 20 Feb 2025 14:35:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3AB73280309; Thu, 20 Feb 2025 14:35:27 -0500 (EST) 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 1688D2802F3 for ; Thu, 20 Feb 2025 14:35:27 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B6DB7C2A48 for ; Thu, 20 Feb 2025 19:35:26 +0000 (UTC) X-FDA: 83141327052.30.0FECC21 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf08.hostedemail.com (Postfix) with ESMTP id 1D71F160017 for ; Thu, 20 Feb 2025 19:35:25 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UZMn6WIf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf08.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740080125; a=rsa-sha256; cv=none; b=mT/FplYXQN30T9f1x9WCdXNPqZj9O77LALVLrwp5408Q9faKXXbDc6KKdETPfuEPl4XDOR X62Ejjv3spJGB+Slj4/pSzI8/OuHMs/77N+lLgYa0VwVW30BMSzHud1VUxmSg5ZMlhhAgu 7h39z+Wbf5sP8YEarDW5LFUnTFxGKs0= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UZMn6WIf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf08.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=1740080125; 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=TvNauERo0FXz/HmyZx87QAYdsqLNt6bw/HkXNk6gxj4=; b=YrCaGHb40Mqz5YMJk1rHx+fKE1n1RfRoScK2Ji6br0XaQRGaZ1EU9PNBIKbBoi73LnDkcw qzi3qPHhBL4OOF1qSq4feht+j03xyRVPa4rs2gPlIN758mT1617LI5LZsgZZYIA/j3/Rz+ caPpL+ztXS7Yq32hKCqi3RLFV//8wTA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id B5B105C5A88; Thu, 20 Feb 2025 19:34:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7C770C4CEE3; Thu, 20 Feb 2025 19:35:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080124; bh=lQdCqJbuwqzMBVYn0ePijMi74LmE9XAyvz+DAnJaquU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UZMn6WIfr5nauFmmgrz27Rv8ZIKr5SlSx8s7NX/PPfmgJddMM8/RNUto4mOB1ikpp ZjF7ftkm3gAQmuKQB1sy7Tlgv6ly1qucgN/eFu41DhJqEsZhOMRblCa4pwW9YOGMem S//I3/DSBbf7K7M7Hmc9g/y9knPfmydm8XSjjMqeshFfNIbCZWTZNSvwK1HPqAxTMI a98o7ltCQzyGP3Evev31R9bhsZOIBEyxKEINraDRcRauklbw+mXrX48lR8pUNmJMUl DcHKTvegIS6NghmMM5//LAkaslX+buIwZAzNhOp/wbYLfE5EBbzF6PkIqJS0JMuB5l LQ5YLrVkvdPUQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Jonathan Corbet , damon@lists.linux.dev, kernel-team@meta.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 9/9] Docs/mm/damon/design: update for changed filter-default behavior Date: Thu, 20 Feb 2025 11:35:09 -0800 Message-Id: <20250220193509.36379-10-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250220193509.36379-1-sj@kernel.org> References: <20250220193509.36379-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 1D71F160017 X-Stat-Signature: mdhxbf6kzb8uynhp5d9xj49bnj5yy85d X-Rspam-User: X-HE-Tag: 1740080124-756008 X-HE-Meta: U2FsdGVkX18NK/kfIN3XhQZ0midH1F+stKTxUA7sZSlfEcKOZfB5HSnHwbJ/MKs6vIaO4VRts1ewHWq9UTYF3ZPXclw9cgG53dty295p2bftBDTJ1MDwups6X6YGJqITWtzf0A6L1BE2lNO6nqOFU8+Ga0lR9vZneBHNspJT91oti2lA+Gc6bUSmIIIlFMxVGS07RaVkyyW5vqZqh5lUwn13mon7TAq1EuI9KtjhG/ikc7kq7IBnqXwQOlyKuu5crR3A2IQJp+CqFVQLgYKFuZrhTPOJ3OLp82c23H9vMQeUJgSQoxuX1YwIHip395153kmCwIqD0WkG4dHV5f3wT/qd0XSyuMXDNAUOb1w8MGX5K7T7nwV4Dlp5rCWesBLS4XM9QdpdUtDPd96UEXnhFQ5w7eT9UDA1RCFEVHQoD/rK5/CfXuysUovjGza3om3DIl3ryPMNVBScOIKIDdNkWZoveRu6XFd12OcQ4+CuzkgtbhxeVEKRiQXkSBm8AM6+7LYOe6OMZ+PaErwe2dyDF37R5UGgCPuC8PXZ/xp6zqS0AoycmKQED95GRO5CITQNinGRmq3gmNOZAtDJu1L2m/eLknFKoUs4s1fEJpZ5mc7WXHmrSjNfFVLghqMGof7pNiL9m75tDxNrCjc8vYQUXJxcZhYBU1dS2gbMKv7IzRJnrKpIa8SSoOKZ+ZNRlDsVMLvdjIdtdMG7j+9GdqdzwZ/loOXIZPn/G0mEnJ9JtA0SIKxs0HwosO3YD3I+8rs2S8iFHeYVmox2caTCAfX/uPs0bhUH4d5eMZoX3fMEGw6RFUmMh3jE6OWbyTV0eoz251p2RRFhZxytBu4iYrbVTx2L9fHW4qa+uUa6nLzVB7OPhGcDWkr9IJCNuzBw2rmvYjj3mVaEQvXYld7AYsr7/cRHihXeaHGwTZqTo7BNYDf1idhGuM+Yta4OgZlbEGV3zrAfnH9/bzvD9Lo6Hxd yCPTHGnx u0qxzF8K5EzmHL5NQsAb+DJF6Axo+oOmDr9deRM8QnyZ8ThIbVtkL8V9owqHW7D+QHMl2KlwzLrfOcl2BPrgfawlGTcDNFTf9It9Y0L6HhXNZGXp2szIU0K8mukknRs51iI7yoEHDKqqPnwAZJ8kopsD1Rfq+j/Wru8JjgcqpRFUyWjlSBzDFlmv1YfuqjrWeXq8eziAVsT9qzJaaBKL389C5klXyUG5GrX2PFyGIKqsKQ/A= 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: DAMOS filters evaluation stages' default behaviors were always allowing before. But the previous commits have changed the behavior to be decided by installed filters. Update the documentation to clearly describe it. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 5af991551a86..ffea744e4889 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -581,9 +581,10 @@ When multiple filters are installed, the group of filters that handled by the core layer are evaluated first. After that, the group of filters that handled by the operations layer are evaluated. Filters in each of the groups are evaluated in the installed order. If a part of memory is matched to one of the -filter, next filters are ignored. If the memory passes through the filters +filter, next filters are ignored. If the part passes through the filters evaluation stage because it is not matched to any of the filters, applying the -scheme's action to it is allowed, same to the behavior when no filter exists. +scheme's action to it depends on the last filter's allowance type. If the last +filter was for allowing, the part of memory will be rejected, and vice versa. For example, let's assume 1) a filter for allowing anonymous pages and 2) another filter for rejecting young pages are installed in the order. If a page @@ -595,11 +596,6 @@ second reject-filter blocks it. If the page is neither anonymous nor young, the page will pass through the filters evaluation stage since there is no matching filter, and the action will be applied to the page. -Note that the action can equally be applied to memory that either explicitly -filter-allowed or filters evaluation stage passed. It means that installing -allow-filters at the end of the list makes no practical change but only -filters-checking overhead. - Below ``type`` of filters are currently supported. - Core layer handled