From patchwork Tue Mar 4 21:19: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: 14001424 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 0EF24C021B8 for ; Tue, 4 Mar 2025 21:19:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E2146B0088; Tue, 4 Mar 2025 16:19:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 03FD56B0093; Tue, 4 Mar 2025 16:19:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DFE656B0095; Tue, 4 Mar 2025 16:19:21 -0500 (EST) 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 B45036B0088 for ; Tue, 4 Mar 2025 16:19:21 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6E9ABAEA81 for ; Tue, 4 Mar 2025 21:19:21 +0000 (UTC) X-FDA: 83185134522.14.C9C6312 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf01.hostedemail.com (Postfix) with ESMTP id D9D0D4000F for ; Tue, 4 Mar 2025 21:19:19 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iCRgqwvI; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741123159; a=rsa-sha256; cv=none; b=Bej39kWZKabvUHvrWnQEbaTnRzDH/9ptzia5CyX9hGXjC6N1hdcg8kj6dulS66d09dIlQy WkwmzTpFRkzMtkEAKgqiKEqEy55l4SvSaRmpmBs6VuJix6wGcns8SK2X6e0iwX7edCuCPo jXtFddKwD17ycnT5xMldscUSfo+SLoQ= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iCRgqwvI; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 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=1741123159; 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=IeByixmRSb3y2v7/ptL/xsMh7ZQdYsERhAyiE3AugxY=; b=BTFHoapv8YU6A2HAiSXku2mRVdI8yXQKuBNqwFcLj1MQBfVKsBVRzI7PwLIj/u4fC6gYPa T/LI5laR5EXD3Ctr1jmmwktdUINY+zPQTWFxzA76loe/fH9Pn+9U9w2tC7EKHbCEvGKwT7 BLxQcRv3Ye3F5eysq3x0N6y21IDbah8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 70D02A45F86; Tue, 4 Mar 2025 21:13:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E55E1C4CEE9; Tue, 4 Mar 2025 21:19:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741123159; bh=npc/D62/iA9M79tii02t66kR94TtHspqQy52dl64bMM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iCRgqwvIepxKyJkApXpQpFtf9uNM7OzhQLJgmaj98xMr1qkhcgYsDa+nnCpkbHJiL J3wxit9ZLErX8nYSh8Wwjfvs4E+Z9S6eu63CgACgOSlaKeoYIopwExJN/2j8EKQP9v Ur3T/foL5tPNO8J6X5Q725XhMzg1/PBGUrQLeRkpf0VT8LVQCKG+6R648hFubunCOG SDXTaTCGm1Rg9CK8GFoM6PC8L6vXsQY8DKtLOrh88On4GYwkHfpObVbelT7w0REU6i N1XXUaEQ/FdPBpUY3GU1NOuYyKZ0XB+PXtROZKtWEQEhSEI1yG+oSI4Csceux57neB bqjkubU1JzYSg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 2/9] mm/damon/paddr: support ops_filters Date: Tue, 4 Mar 2025 13:19:06 -0800 Message-Id: <20250304211913.53574-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304211913.53574-1-sj@kernel.org> References: <20250304211913.53574-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: D9D0D4000F X-Stat-Signature: bdrwmk3peyw5ooxzxp57mm57cmuqhec9 X-HE-Tag: 1741123159-817146 X-HE-Meta: U2FsdGVkX18N93Wn2nNYBmLCZhLNjw+HYuQZhDieOjiAJL8xZozlEouZQwN/FY8YB1hmJMyH1Ew/7MGmXkaoVlWoDQphA3JvCP1ifsuSMXl6ee3iHxMMcn9Z8DGZEe5QF7O5jQ8wHLZIE63Wr+5pIidkchEm1me5IUB9iScQJeCfyeAyK5KrUZGJcLbTOmE0ggPTvyQQfc3iBzQ293P3pQHDOW1v+va//CUA+4uV5WN83oxjCa+o/Wvz8XjFB/hfxYY+ORa0ZvMfjcMqDKpHEL+rfMwyVe2QJrqHAd6RCyewwoZisVTkzaGSNOwzEZXBDFwvrdwrStjX0wXdBONm2pa15sj2fHNJIyg8SXfaEiw0I/4RWulEPU3qea6D7qvLVZ95ZmVGFP203EvQADQQOsH+94e8XEcoNsKnMzvi57/YoI5LfEl/2Dz/o4W1t3QSMj+ma9M8L+kQXjnlHEDJ3ilEAfWRQrAvdlRrNtukpr51nRR3avUZ29LCXFBqu3iDx4Rld3rXzabzn4lgYyoslV1YiItoEv5Jm7EwIMsofgEB4YsfsWEg+iJjzDp/BmDtQWYAd47cIhBqBHVrJxEkoiQSdamjSMCIjY4q0/1OB/+v05aenBfLXWmQPIUq7bFFL1XaJAuozoEPbSpK084i6KLkneMZD1udHnm3eOjDgbhHcU5aotaigzkhZ//tRc68KrsCz8z763IlyHvza7gjc3h7McXsvHCamol4tsVMyyt0l2icW2qVXP26/eURgjbITe1E0Om5b2MRXOXtKbHeCRilq1s0ITyeOs+drAuzprwnAObE8JiJWARyIz0D67+s/2XQ5WQ6/b66yTzl5Bb4Q4HEr/BDltLGshyA1R0gzaakPiiWyw7ll0XvVSKqLe5h7Vza3ysIw+i+da+VWjlsxehujV/glO1gqL8aia5p6Zb+ipXTKZPqykYiISWjmBG0IpIOcyXLxDVMJyPx3qz +xvmuRi4 D4nFcC1iVLA1KHg0vATHxRsN0kpkyoXBE4JGW8Ww0N114uu4tDOfSzbz+OJA8rd8GGlOaOTtaGcvMdbgitESkkXZmPrjiFsoxwG6VnL0nfjMKPj4/wVFsVHaKdpIiN98oi69Gg+CYDAanpSGPqXtNu5XDUHNbgE/ymUtnzEhOuxDVDycOQOYz1ujF3snsuQ96g2FQ79g++Amzgx17LxQOKK7R59k5wuSDmgHkKSIvAm2BL/vFEvOr0zKw7RDkEQs36zZBbM7eXraW+Mk/5YEc4EYtUw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000016, 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. Upcoming changes will make it to use damos->ops_filters for all operations layer handled DAMOS filters, though. DAMON physical address space operations set implementation (paddr) is not ready for the changes, since it handles only damos->filters. To avoid any breakage during the upcoming changes, make paddr to handle both lists. 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 d5db313ca717..2b1ea568a431 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -260,6 +260,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; } @@ -290,6 +294,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); @@ -538,6 +548,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; }