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; }