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 31007E7718F for ; Fri, 27 Dec 2024 21:08:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4BFD56B0083; Fri, 27 Dec 2024 16:08:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 46C9A6B0085; Fri, 27 Dec 2024 16:08:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35C506B0088; Fri, 27 Dec 2024 16:08:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 19B336B0083 for ; Fri, 27 Dec 2024 16:08:32 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C7FA8A1C3C for ; Fri, 27 Dec 2024 21:08:31 +0000 (UTC) X-FDA: 82941975942.06.7EE8523 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf04.hostedemail.com (Postfix) with ESMTP id 2E2C440006 for ; Fri, 27 Dec 2024 21:07:45 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=U0LGkOBO; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf04.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=1735333690; 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=Bm4mWiXuMSdBNYU/qjQCTKFEuHAhTLbfTEWNOJoN/a8=; b=qJTpHDDTs/JeA8xK489p+WuZZV+/wBf02bds9s8lCQwBoisv2DFnKom/Q7RcgU7SXJ/oTY PPdlptxnqqa/BKEP69wXyam25eIdSV/WbqQAtVR2eGxG/WA/9itmzx6AM57rR0qjbn9BsV VLi+lXuEG82OLaS5Rk4eotAXbF/+nDw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735333690; a=rsa-sha256; cv=none; b=nlhemAOQz4a2MkM6vy8NR9ylsUMrzor2tmuCIDeQE9SGjuKI/uIHgGSXpFA+im1vrP5Vet iag3BiTQqfk7+0fmQ5e8VLXA5DEYeQPjxcSBlXHnsFuY2YZOTdnriHbabEiNErX1ynpMzE c1FFaD9NNoSngprfL3K62IOv5ok+xjw= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=U0LGkOBO; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf04.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 C17DE5C5FFE; Fri, 27 Dec 2024 21:07:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE5A0C4CED0; Fri, 27 Dec 2024 21:08:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1735333709; bh=DCAC3zBpwSlEJOxW64cidA0UEg6r7ucuAwa/fXFsTMo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U0LGkOBOaCxTAQrJhEA/mJ+FKf0Hr+hAtjySuGne2+MCCrD8OaEg50lgn7TQ5sxJI m1ZeaXaZdlRVoBlkFpo46P6jLqa1xnXvhEkacbkgDsnU5QJAdILnIWAdB2YulqYGsT uPvGKwli+oyh1tMuYmYbLGs12gXazBBv27TqPhCdDa1eVMRQkfe2Wn2PLgUeUBSfuT 7CzFw53jUSQdK4WVp3rvL6XfJYodN7KVM7rGEjfkMCvyWr47FPjJf4Gsc9Wc4XMiIW leC5w6Msxifg6dS+H0jWNfpi9FfwRpIpkLGsio8oLqwMKrtHgYteJdQOuhWUawjH0K yLUs0Cnve283Q== 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 v2 02/10] mm/damon/core: add damos_filter->pass field Date: Fri, 27 Dec 2024 13:08:11 -0800 Message-Id: <20241227210819.63776-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241227210819.63776-1-sj@kernel.org> References: <20241227210819.63776-1-sj@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: oid8ppqbdpx8fpoq4e8btsr4bi4i6fyh X-Rspamd-Queue-Id: 2E2C440006 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1735333665-990427 X-HE-Meta: U2FsdGVkX18ybv5+/nHjLxe3fHyZA+l/rOfblXYhANqIIkkbbkNeuyDFzuQixtRI7uDTBdiVMJQg2YugSO9OFbaqZ0cR5q/9e8nZX6D/HOqxV9m30tmfkId08qP6Y2rRiiTrbG8kxPmNhtEhkRQJXfyaLqgN28H2qK/Hs56FHmqXS3G/3fPvIJWeW7P9w5TrYTtPCb+WfyGVjYyi/GbwCW3EmE8STq8MokHne5g8EI8WG1kInkPdNoFq+NowcMI2+naqlBXfEACdNV9f3y1zqiD3ANVpJMqyEINzvWKlT52ELz+YghHyoGUP/+hIUXd7K2DhCzosb8uUSQuY5nNS/8hWd9Up9XCpnH7Fy7JcWfVTKdZVB/wgtA3kgyE7Y8Vm/ZN3ItNdnwg89mWGxnUJrg7GNROfzfy+qsgHCFcmgvWyesIul+/WYAqTkJpyf3JDx8Lh0U3BEI0xzeqT9qNeUEHLD7Kzv8kwB1LIWKb9U00O2IdTgKDOhX2VC5lX5NifYqXhYjbDJItqfvAtlZnjZHZJP6B0LMX2eSRzXsUlQgMGfcDJ/cM8iAdAJHtkBQs4mc/qdU5H/L6WRYp/v1JV+ay3A+MLf199SIF4M+YTzGZFp84pCvgLnAA+AYtLTI96Ht9Y+Zbo21u2UTxiKaPl5Cw6SPW0rr7gL86svhsb/ujCH3gro/DDFaQRK3s3PoA3DgjHopFmp/S99h3MHdYZ2+btE16pFOUriEceGUxguolcCrTuhlLKU2jhvdmMOXw1mF1Tici7KiWZAATyzpl254gMwrqEHLrpiesT8ISnQfwKjPQ3M5PDEzLb9FGWJAonrJafBVKQEhbuIYR3i1EgWooXNRAp4Q6G16hrzmcRSwaxW9N1HHx8lbazPpXMg5wXM0+O4io0MgRC1iIBL+tsCwG2+XSIMC0JuKB9BiHAHy/ziKNWiymnVoJmhyHfa2drbZ0kRB9L5HYTTVSxRzQ 0kQecT5e wYmG7YwkLKovJI55v10Q5faN60qsJhWJdMO87T+MZSE1+q6yuYahFJXKyP5OTqcpAAKOjL4JNPtctSf0eYJxIYhUULcHjuWPXEdJaXNIFsJXDFavAuo6HZmSTb3dBy/zaApJiWSct6vqzgVGzVT+WN5RKEV1C+ATAz911vCkLKZgvCqr3QaW2NzinKcSsWZ94Q+TUwvl5a+KqglTS0WVN1fV00HjEefkYIamEUlEQnW6NfaRuROAp7Rfv7CDW0+XevS5tBGVaFC4j3IGGKbgjdjH+AA== 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 work as only exclusive (block) filters. This makes it easy to be confused, and restrictive at combining multiple filters for various types of memory. To extend DAMOS filters for inclusion behavior, add a filed to damos_filter. Following commits will make the field to decide whether the filter should work as an exclusive (block) filter, or an inclusive (pass) filter. Signed-off-by: SeongJae Park --- include/linux/damon.h | 4 +++- mm/damon/core.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/linux/damon.h b/include/linux/damon.h index 15f098372672..122c30e4ce19 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -348,7 +348,8 @@ enum damos_filter_type { /** * struct damos_filter - DAMOS action target memory filter. * @type: Type of the target memory. - * @matching: If the @type-matching memory should be filtered out. + * @matching: Whether this is for @type-matching memory. + * @pass: Whether the memory should pass-through the filter. * @memcg_id: Memcg id of the question if @type is DAMOS_FILTER_MEMCG. * @addr_range: Address range if @type is DAMOS_FILTER_TYPE_ADDR. * @target_idx: Index of the &struct damon_target of @@ -365,6 +366,7 @@ enum damos_filter_type { struct damos_filter { enum damos_filter_type type; bool matching; + bool pass; union { unsigned short memcg_id; struct damon_addr_range addr_range; diff --git a/mm/damon/core.c b/mm/damon/core.c index 52e50f183ffe..e54bd19d6f06 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -275,6 +275,7 @@ struct damos_filter *damos_new_filter(enum damos_filter_type type, return NULL; filter->type = type; filter->matching = matching; + filter->pass = false; INIT_LIST_HEAD(&filter->list); return filter; } -- 2.39.5