From patchwork Thu Feb 27 01:57:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993523 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 C278EC19776 for ; Thu, 27 Feb 2025 01:58:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5067E6B008A; Wed, 26 Feb 2025 20:58:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 48E706B008C; Wed, 26 Feb 2025 20:58:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 308A06B0092; Wed, 26 Feb 2025 20:58:05 -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 160D96B008A for ; Wed, 26 Feb 2025 20:58:05 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B8D4FB6A3B for ; Thu, 27 Feb 2025 01:58:04 +0000 (UTC) X-FDA: 83164064088.24.AD69C6A Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id 1CFCAC0003 for ; Thu, 27 Feb 2025 01:58:02 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=js2t26O2; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf28.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=1740621483; a=rsa-sha256; cv=none; b=MA/Tv1PIcsxSgo9XKKVQrWR0IcrKZoFpzwkusCncTYRtoxVwe2SdZxswBiE1XnqBsQNHZH c+KjBQeV9ktCgSV4DtsZXkBotfOiE7/tmSaWB+9I9pndYzWxlD792oHB8nvxLGpJrU1rdZ QTPDadOZrrsL7n3U5IB3HydSU9W4qYw= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=js2t26O2; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf28.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=1740621483; 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=z10a91iFk8ULotbjIzkkUqIMlvVETd7ttU5OIvJZdS0=; b=8fanrRxGNaBiv9SUoU3AxxUA5ZpS8ctWhBSLIRwsltKS6o0jXOR4dsRIs2OLzh5R8sDeYY e4E358X1eLzfL/Ho85m7O2TyA/BjN18+Jsiv1u8Iq4bOe6PnEsMiGcO2aRQo9xjwXxKwXU 1m1L4rBYGTnj2YsVJ0Owpl+GPDbYs2M= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 818C75C7628; Thu, 27 Feb 2025 01:57:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E6F20C4CED6; Thu, 27 Feb 2025 01:58:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621482; bh=rhFsNhRUaSQHgawNxfN1Ke4vP/OFw5KgXJOej1ppOTE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=js2t26O2XKtZGE3Dz4T21JiIIrbyHgstsd9l+raa3zsams1DBAgkQLkYwPi0NyhRI q4ldhoGPKcn51cyoqXBfa241uVi4FuI0GkLDtQTqv6fOeOKZ9we1erdUXNZQDoJTgS dxsQ8tRhCKepDOSGM+pbDpHllMX4mXc4BllITmwitSgviys/u6csxyHxEdALwpIpZR i4X82CfixbZv4fpJALo0oUbF0LwikzrkVKhQIwo2KodrClxrSO/lyZ8IbGDHnBmFGk GjrHenlFCJrjUDy9GHEPykIBZ/GF/NuiVphMdYE1Eth3aYmkkPr/6LzCVfYcjfpOFo AJ+zQgiMnBp9g== 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 1/9] mm/damon/core: introduce damos->ops_filters Date: Wed, 26 Feb 2025 17:57:46 -0800 Message-Id: <20250227015754.38789-2-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 1CFCAC0003 X-Rspamd-Server: rspam12 X-Stat-Signature: ns4tt7nqcqzg6x5jwaajgwhogpc8bmr4 X-HE-Tag: 1740621482-753178 X-HE-Meta: U2FsdGVkX19tjRwXRgCubP/EF0Wf3inoxL0kl/ZlKEICSUZpjMaL2pUvSsVGvtdYAFUFwehu8GUvAXgWO53sHnLRJFdsC9qrxZpMCnlA3AyW6G/4b92C1QCYMk9VGnvU0pZvhdLiv11/U3f79lMevWq5gUkJl2JX7p8qPTyvENVsR3dvkEaICSemeAw+Kgr+ETuN8y3zruDluhstZc8GNnj+8R01wvAMJFR853fP3IXhSsMPkYDLGV0OiIwd9MlYef2eIGgHhLr+0ZFGPW24hyJxZzFjWGHHXpJuRv8YYmGKS8EAeIVqeXiokGs0j9DEpEMSwiCSvvDsT87RYkoOZZOYbe2s5OF6CQhKkMwxPAedgKj6eYeYgTuIVRcWkpkP/sw1knqu6EpfpSywJXu3TDg5kfaAY6WRLFKsfcEUO5tRJKXXkyuk54dv6NoxgqyytM/49riagro4LqyTrLA4Qpaco7NlPL2USOmPvlp+f99MbfAP2MQf1d8l+Y4mUqBd7QoFP5Jr77P8IuzYsROTLBX0+DBTuoCi6/vwBpHotZ3PMPb0X/vWD70jnBZSB1zCycAY0ZiEhiMkFypac4oT6kREmOrYvsOEohRV7lOyZ8kjbrByb29r9DuBeESlWrw1RdtKXAag77a6ZiVg9Ls8TZJi6G2RuQlUIFCQfwCJh4f21BfTX5f7oV7sAG248lvsknHxHYrPO6u+S4D7HVYyXc9fY8eCZZA/PrUqNDkQ7WKpFS3T++xX16/4Naz5Kh9nSURHCx0/7RuPPB5PwXK7ojXSiAN5XUOPTnzTdWp5aD9+jPmxNsN01QE1wZAWI5ZS0dbYuZ75pEMF6J1upo/YrMZb5vVweFF01tnk1gFKMOQJEoc/8HSoOL6/NfXqBT662ZmcKfPnkzUyMEWXuec50juqBsialWGKubW6E3WeMUCJPUOSvjKt0dKGW2lnD45eAf9/DosBMeUsZfkWnW0 K0wW7spY 8CwiF17zFlI01tlaN4qDQGLQEkhtyha1jXikZN8cTjf+VVPwCO0vyGr2Vw/F5qkVBFBBSNfGSBRlJME75+R3DneidE+Z3AjN6DQJuKO4/pOoJCzETrL9G+Ddu8AVt5/pvEzyW7UwfBuoNnzri+p7KKB7pRmvT14aQQDoOMq8Icc5YeEucY8RKEqH4GvilfrB0mUHbq4RPsK+92Eg5/l27f+CDUeEUzk7cun4zmp436C+nCOJw4+s51S0DXcUNF2C+11n0pSJrABUxPfvlvom/RWUaDQ== 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. The groups are important because the evaluation sequence of filters decides the overall behavior, and core layer-handled filters are evaluated before operations layer-handled ones. Currently, all filters are maintained in a single list (damos->filters) in mix. Filters evaluation logics in core layer and operations layer iterates all the filters on the list, while skipping filters that should be not handled by the layer of the logic. It is inefficient. Making future extensions having differentiations for filters of different handling layers will also be complicated. Add a new list that will be used for having all operations layer-handled DAMOS filters to DAMOS scheme data structure, with support of its initialization and basic traversals. 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 27 01:57:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993524 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 5DBE4C19776 for ; Thu, 27 Feb 2025 01:58:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 729476B008C; Wed, 26 Feb 2025 20:58:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B1146B0092; Wed, 26 Feb 2025 20:58:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 48F366B0093; Wed, 26 Feb 2025 20:58:06 -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 2DC376B008C for ; Wed, 26 Feb 2025 20:58:06 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C88E71A14D9 for ; Thu, 27 Feb 2025 01:58:05 +0000 (UTC) X-FDA: 83164064130.05.49430AB Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf16.hostedemail.com (Postfix) with ESMTP id 35017180007 for ; Thu, 27 Feb 2025 01:58:04 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=t1dUbAnf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf16.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=1740621484; a=rsa-sha256; cv=none; b=R5PPkgHoGjTJWBhiwNYNg2igAqfzr1u9Gu2ike6xwqiAsnynYgdqdnGhIgd2qWELqGgpgX EMlED6oLrxPMEWo5u02ona6T1Jj3BaxxFZlEzII9xDpiPK9gC+ssxG1B4BNMcUo4Ai6ERT vij0YEw0THhN41rK6RwvFcyXpl5UuV4= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=t1dUbAnf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf16.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=1740621484; 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=EFkMhZJHhemQYJMLg1p1Fb0/LilwbxxpizuNfNmuqDw=; b=SxQaUW+/duIaCzzKOWxkPm6nvUHfzx62gkWLdo6W9IY+kmw6pEms0hIWrMg2JOmy4vl7WI HlZ4Kw4Qs7zUhyfssYQ1vNk/5CXWF3YA6mor+O31Yw7hXm3wOivLj0LkTsXgHG+Shg/Jed IcwbQtvxdfdPZiLbvOMTXVvFCccz+kk= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 9B77D5C7632; Thu, 27 Feb 2025 01:57:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 079F0C4CEE2; Thu, 27 Feb 2025 01:58:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621483; bh=N/YtlGcWQ2PX0NMUIcuI8F7U0I6DV10Xf2TomWII3qk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=t1dUbAnfFVOaSAla8yVUEws7sBVMN8BWmcjrpG4/6zKUr56c2+Hgd9MoRMyC7DcE+ 6eGzAOyhCaUMviM/3vJ6pFMlhbeVEg0jemrvzo/Edm7SrN+agFMW3fwmoaD8xrBMCb y7myLvuuU+3pID+CqtewZT+vjo/3aVeHbqEfBFYBwPOtkvlOU4QRFJTIjadPYKnENr 6ApnqsgnyiFci4rNtMiRv3JMog+qrrRbMV97PHlfoj47WicQ5NnM7xlL0uLEcC4gdy mlnjVmdd05ZDzVmcEC4jVaF/tjnP4RwkquBCakk3frYFaDAsRPoLacw0Zizdu3dQl8 /J+2uSXbBzwDg== 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 2/9] mm/damon/paddr: support ops_filters Date: Wed, 26 Feb 2025 17:57:47 -0800 Message-Id: <20250227015754.38789-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 35017180007 X-Stat-Signature: sd957zc3iee9n6cfkz4d6hzso1ejcr5q X-Rspam-User: X-HE-Tag: 1740621484-222395 X-HE-Meta: U2FsdGVkX19r9EVqj/jY+2lwNmkuqaLA+3e0z/cXgP3ZuM80HcdCQTR2RhGt5FoVKbS12mrbSZll+K3v6FWSG+3vXOBjE858j52oosOJsqnJbmOuoRM+R3MuT3cnetzp2WPQ61qVLPDcaAKpP4EvAaWzBlYrCUm7N/H8Ma2FmRLQYe+iCoG4PACtq51H6ninsYCU1EWmN93KPBzVWyl0VgZawmrWBmhnna8GuqTOZmW9YZDtksUD/CjQRSgDcbhXjk7VaRnoQMr47k13QtririV1cDrcUgzRoHSU7EhBg50AZGxTdRaSQkwx+RTovabwu/+9cZdsfpllSvsqNQJurulvq+XDLhqcJl3PvRgBJz2TkZqkgUb/SOiEp5aW1ECJnTUz6R2C25XKAHdhicIY1YRpSQV1o1tSp/cgTJSp4Bqkpl6++OUS71sqkKkdCQzoC6OtaD89yFQ87Zo8YhOYBSpn09UV9AylWPij2Tx10RdoUsjLClxZWUjTgDA9g9EJ7qLUNW5uTC2fGR0iGb1dFcA+Iw3yXHasU3bUjenmFuH9Dk+plgLYv+2obCX4TDnSY1SCZaovzR+KKaItxMe4PTdtam6w5jSADuuYfzzXS02pIK2D4H/k6mDhDNat3A9GwnWWERsCIzFj60v0xRTcxYGpNrXzFu4LcnIWCD76OlopBe8wn4lwhYijao7DloR9vzOPALEZe48lnmZJwFNZPqIHxOxtoAL0vu9FXuna5Kg8pkdZEYhY1X54961tJIkj632pEVH9O8cixKHrO5Omx27Tbpr9ld0S7VEDCQtIM1OLKE+PqbpnChnNbtRxKBJnvULSns8m1R8u38W9l4QKphZJQ1VmN2CVuiSb/x6yYSRa2Sj58HBt9tGass8m1peZOWRr8mbcVA7mvMIxNYiOBfNu8SBFcFMwjoYwK8vaz6H3KCtrLZeDGUtdclMgFu1Ltum0q9/m4ZtYAhdlPnu MJ8Lcjyr Cw7P4Fddl/+tN2PUeIX2nfox4+rJ2spB8eFAx0YG/lH4QGk/lu1UzpZHNhKUwrlG+DjZprET4NZ5zfs6XO6lvn9GohWN4H1PpGix0x01wTy+s8vrKzXJjbHJ/5hlh9MW3Gu0VHmMDLo+IourcSaTawVa+hJRAHJtss5NmnOVXUW1WHaGubTr9sgVoRN/ZjoJSzgZKq0t670OlOhYKseyV8YHVhBQGPPP+eCkNCiaM3FFRCwCfjGDk/G2q8grpVFa7fSNx0C9ElalnpjkTeWAC6iPI6Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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. No filter is saved in damos->ops_filters, but upcoming changes will make it to use damos->ops_filters to have all operations layer handled DAMOS filters. 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 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 27 01:57:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993525 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 E7089C021B8 for ; Thu, 27 Feb 2025 01:58:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3F55D6B0092; Wed, 26 Feb 2025 20:58:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A4626B0093; Wed, 26 Feb 2025 20:58:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F8D16B0096; Wed, 26 Feb 2025 20:58:07 -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 027806B0092 for ; Wed, 26 Feb 2025 20:58:06 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id BCD87C1346 for ; Thu, 27 Feb 2025 01:58:06 +0000 (UTC) X-FDA: 83164064172.19.2652149 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 36F56100002 for ; Thu, 27 Feb 2025 01:58:05 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VwgPPSnP; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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=1740621485; a=rsa-sha256; cv=none; b=jrhO75ssdcJpqYcARAAE3l0AW5N0NhxpNyQXZNdy9Tz65kw3jJEaxhVsT4QUlSaNS44522 rnEkWoCtcxpCoKwTbtXBSbzcbyCUagq+QUUnRdhaOMay3hdojoU9ift2zDLWcdhXbkmfEV jFKYtHMHxwTGQMI6nHC1Ty4bwyhry+M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740621485; 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=wjbwVqpPrZ4BkwLJ1+3TE6Tj5NuGrcF5DEkVKQVMzxQ=; b=RhTix9jqjJVhieBcdwALAmlWPMPtJbjfCadg0JRWwaRVvPOlp4CMLHH7n5rFXl9gkIB+XK pZIaeka9keQJRcLJ+VunXhTj0qbp5/l5jQokLx+w53Z/H1dXk6/KveDgOh4lzB1+Unfir4 gh7lj+kohZM7aEHOET1JKafF68yXS7k= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VwgPPSnP; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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 A46AC5C7637; Thu, 27 Feb 2025 01:57:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29670C4CEE9; Thu, 27 Feb 2025 01:58:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621484; bh=QU2B5OyjwKcbSYOittkRG8TZWYJnF6pYkD/57XDdhdI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VwgPPSnPJQDwc1rIVc7Xx2E+0web9XOgqArVd0SNog172cRGHzVZOVlDqmVdLin2W LLsafYJZIObPHyBR6FtPy4GXobvAx8bDPgoGmKOGbheMalJLOqEE918Ys1Im19RAJr JevxJ/CifsvJqnzMdjGmHnLGcLPhbCTTf16UlCnfOYY0W38Xd/1/LRfTVgvb5ayGz2 56Jeu70HfrlQE6odKGESqBShUS90gYBpYtNoZ2RggUBGgjr6YixIBqOrs3/vDKLQqh I/aIY0swcGT3PSWadD7IY26Rdf/eM8lGHeiaw/YXahxPhvcfCf8KJZkNC3VlkHdkhg XQJUfC8DLYF5Q== 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 3/9] mm/damon/core: support committing ops_filters Date: Wed, 26 Feb 2025 17:57:48 -0800 Message-Id: <20250227015754.38789-4-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 36F56100002 X-Rspamd-Server: rspam08 X-Rspam-User: X-Stat-Signature: kmtnxobxn8oyw1b9zdob5npdmw5xerrg X-HE-Tag: 1740621485-964229 X-HE-Meta: U2FsdGVkX19dbUmVllLp+iEnxiHROnALV8oRE8x7u3dEh/aSqmKvz/JOcUIbHXJhjKRqBfdXo5RXq9d/lCkKrW454L5totJC63zItt3r0rzWBWqJYJ6kiy/9cB/PLVMFWEXpq7S7fBEdS7Rhqw4qfOfzejfM9dvEdBlJVXhobcOaTO5p4BCfL58wYE2ZUqnGncmLrT3QXB/WtLSCdQpip1SZlzd8SbRLWRgtudR5Hvikiwr96AkgK5m3vQI08iRrxLvMycCo2suRCKe5FYdKWB3mrcHJ512eDF8npbjservPzaCJklilyi7a27xZTk3zJnyqun29k5NqODtnb+2uiCXKwCpot/vko9gSu4CnPbG6002mzaao3ffLz0Lfpz0uv8/9JHThM8KZTS7lyynsgyalep9gjl8dCaAaik901hSTTqQfB6w9Yz9Xjavn/LKSOAhf+M/hkfVYNV0WhSIRnUmwrq7ucBQf0xqGAhxIH7+ZliL5EdFd4otVz71n5hMnkRvPI0lXbJ/gh2/43ShBSZLk1lsBz5u6vdQllCdvxrqNjuEVDtvbGYr3pzlQgxehg+9sr6S7KvFM44MBLFPFA5I7C9rYskOUX47clmwu9QfGq5TGqV3AkAxXRstnN+e+9uRSJ+NyJIT9eQo4qhBQzFqyLo9un2YQlkvIUqYBFB3i6qCwcXUIbKpktLXoANzf9nQPh2kd0+W7ilnL9n4CrnvTTKg5/BZm4LYlRJ9Lxsv3CWQF46w4W+cUQo2mP3qSLXBJCe9+WGPH7Qf4YJdnYGTjMJL/ZySgggpjez4DSjza6bA7MP2ESs6wLS5qpj1zVL7Jw/nuaZrA7/tRpgZMfUvtK8JPadZgznwJKteepsa8A2h3Gvdz8AKFcA78TVfnMkr7xmkThymRHzehhBUhpcCM+iAzHzy30ir9zUQt6SQexrXmDhyL5iw3zpv6/SCyw3HWDUtvlvP1Ka/zSXM MSoZl6kY G0fjUcLjsfXEvYVYJyMUE3x9OHjo+9vnyGZc/wDn/RMbhhWen++i3PRkrBCFbbvdavEMaQ3Ykve+gMuYDzEe/xHUja/dxJ5et45eI5qL/1uUkTd8BLkWzzjB+agIWaBTOedk1utbNT8HLCSM5VfmC4QzEK0hNOZoN6BDP2JssSFZF5C3BLU3TinVvmtxvnQbxa8r7fj9v6JJBxErnTNojlVxgsnnTS+u6b+Sy007JGKKwpL73RgubnXtjcUlfvUNZoqM+XlidnUKMeZWSisXSG+d1iA== 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 handling damos->ops_filters. Hence, no DAMON kernel API caller can use damos->ops_filters. Do the committing of the ops_filters to make it usable. 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 27 01:57:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993526 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 1E1E9C19776 for ; Thu, 27 Feb 2025 01:58:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E2F2B280002; Wed, 26 Feb 2025 20:58:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DBA0A280001; Wed, 26 Feb 2025 20:58:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD028280002; Wed, 26 Feb 2025 20:58:08 -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 7E9C1280001 for ; Wed, 26 Feb 2025 20:58:08 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 032111C9E83 for ; Thu, 27 Feb 2025 01:58:07 +0000 (UTC) X-FDA: 83164064256.16.9213630 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf04.hostedemail.com (Postfix) with ESMTP id 69C8140002 for ; Thu, 27 Feb 2025 01:58:06 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Qdx3MU9a; spf=pass (imf04.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=1740621486; a=rsa-sha256; cv=none; b=MqOqmp1sC3545fWjiYES4cL/1J3ivCPd5xejBBFZhEXRcxiRhbMB1xU1w37r5I3F5oLBbF 7Boq9LK2r2k6l1I/vcIvayYngXoHW8U8eqg9eHXXGoD9LwfGdcJbEpzWe7GcgU22CgU0ty Gw62lLSDJ6GcK1DlwshSuRLdT1hOW/U= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Qdx3MU9a; spf=pass (imf04.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=1740621486; 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=OjJNJiaOdsrix+Ltk4nxtfRB6eMOp1RX+pRno+zzvwk=; b=iwUo827Y2UT7VHZ0UB3lOo6oQtOJ2y3q6F8T7TCgPrj8I5TME2ZwKnPC1uOh8EvT/UalZR ZmWk50yx9sSsNivX5QHocHDuDMhGN59EMOjDURJx72VGPdIFC5Rq+r+ITuU84hkJOk1Aca V0yc0ZeBMu7/+4jpczFfhru6nudAM1s= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id D3B2D5C762B; Thu, 27 Feb 2025 01:57:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D125C4CEED; Thu, 27 Feb 2025 01:58:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621485; bh=OY2pEDCzd2TBvXbxWW+MmytpNlwQ/v7G6etRGptJ9HI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Qdx3MU9aQ+jtJ3yV54gUkfbBPGrqz/FdGkQ5upGuZlS2dfhhuVbV3LJb5lPg2TI9d tlpr0IlquKAzhEa3FPyi5IUCsODvs40GI9mOzW3gQjQWU8TwYRKSxSx7LPfiz6VHIz a5ok4PeVaVKD+SpVl4aBWh9CaXqHoeozY9FyxbDusP6KnDB5p+UMwQX436msGyG5Io 4DLw+kZ7PUwkiRftIC/cFoE46dhnLc997RWk6XfyMUHZTGfhW+sLMKyxrAuF0vx1IE feM8bPwk59P5sSwIXepLSJ7cKH2is5XnwK45Wav8Ig79KwPj2LzANJNq3nJEExvYwV mC8/gsT/34R8g== 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 4/9] mm/damon/core: put ops-handled filters to damos->ops_filters Date: Wed, 26 Feb 2025 17:57:49 -0800 Message-Id: <20250227015754.38789-5-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: gkk1pazhh8q6ps64cdnanzyczsuycxzb X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 69C8140002 X-Rspam-User: X-HE-Tag: 1740621486-565895 X-HE-Meta: U2FsdGVkX185KV6kEFjpMhdDuiV+VUQeRPsF1C4YIOQfoN+/63JmgUDxnsXD+V2avK0B6OyUqChXzMJowTByjpTusPw4exovVmob2GAQyecYzUn4T/dbEOuQJIg1fEHA/yXodLYc4zjl+C4aBqEnhedXly9lm9yjpJb4g7thRP0h95fQL8t6u17haq30PKb3A0keqLta1CPnB03fRwOPkLMiG3PwXTLoAJPawipoE3167rFX7+VYN0ZyUKJYxqqBRLwRo6GUVK0bHxIHlubo5Ass+DQDI5lrtX+52rvXteJ3DcQrdeHxMQ4Eymuf3Lm9KrYMRg5Ty4Jg1IT8lDoQz2BViJO6iPP9sTEu80K9wucwKl7Xl5UcTet5s6ayNLTkQMgXEV1vHI1zDev2VZscBCSC1UwZxk1Kq1QHukePTF0y6XPnRMiuuXZvwvmNV+dMhXvCIOCiFDml1TGqcBKyj17kh+F9OxTqLOo7ArAYEZYmLwfZ7N/GaOce247QbAIjEE1ZjYh35IMHmx8rF0SSJ7fXD9kabMRGgR5Ode8Karv+wZv2OEm8kCbCYoX0CFmI6GkxcrVwgvJ/vmAZLMXk7CmbSmNx77V5VYiyeGYRSdxdQv6LWXL1ZgidHGoWjrmyE7VfDFxsYhEklh7kBCviEilu5U0qg8vKAyMTaO4QQniBj59znyIFz3gFPwxZixwrduaR8Gtp6XBir/bdJVxARDyvepx5nAVQCTcZpeLUlfmXF3V3CJ3z7WEsJvJ+oDja7chkru6y4nZRoMpaDCaBO/9CAgh/0LdgzQMNelP71x/AXX4gawpWrGVdsMm7r/5/cVxy/YBYMRQlOArilu3ZoOIWs546SubvlBXqZ7dzq3Jsv/IUPHrxCBGfi9kavJxLqUSIDzyIn0vqvx5LmelOamdjx+zjwjeCrBvWMzGKz8K/wLvlv/vemAOnFPbrdev3fpVBfiR2yVaBYD69dAE KQQXjKWp 8WpDtLpTifmLSagNKB0Gww5YB511V1MUv7ocdh+RX4887psOxnwYd1MWaXzNBNT4lawHl16rhJAlVsIMXYVO3q5KH5ef1b6UsBszR9zyapElhRfKJOBd2DLXjgvW/nqKoQzBuZIysk4J6sp6sHrYpm6toMqkcAOsAKUATbzgestpThyvbtVCDThERBxCrIaU3NQDX9h7Q3hoiVcDT7dd+r2bJUdTnNHp2DhtLrXYTKahXEZi8SoWHnmQSPWMK8YCEuT4NCgfLsWdHOioQVdCbAKu1iQ== 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 all 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 user-space ABI users have no way to use ->ops_filters at all. Update damos_add_filter(), which should be used by API callers to install DAMOS filters, to given filters to ->filters and ->ops_filters depending on their handling layer. The change forces both API callers and ABI users to use proper lists 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 27 01:57:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993527 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 E77C5C021B8 for ; Thu, 27 Feb 2025 01:58:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5306E280001; Wed, 26 Feb 2025 20:58:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B74C280003; Wed, 26 Feb 2025 20:58:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3340A280001; Wed, 26 Feb 2025 20:58:09 -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 02E60280003 for ; Wed, 26 Feb 2025 20:58:08 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id BB2D3C133D for ; Thu, 27 Feb 2025 01:58:08 +0000 (UTC) X-FDA: 83164064256.13.67283EB Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 34362100002 for ; Thu, 27 Feb 2025 01:58:07 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=tg510x5K; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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=1740621487; a=rsa-sha256; cv=none; b=2twrxYe2PdMmIGO/UxuPqbMG4s6+XLVYiTLY6FTycEU2nfoUYw1i7j4Ipqj0hOCSp2MyO3 2gz+Dajk4IbW9ON0fQmSOgAno3xM+OFCNDYoYkWZRaUH3dkwB/Jf+Rhm61WjjpNY72bhSq oES24wj6Zob4eVRhd5V8p2+j+byblFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740621487; 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=6Dm1wZstrAgBJPxCIHwPUBRiYgmYV7+q+2KsmHfjTBw=; b=IMXLzbi7waUcDSfPo9WiGtq9BZ7L1QXqG2Q2srUiffa+k5hPuDu6Z8EjynusW2O0wrqJdY wGpUDe5/7IrrTY0nPrz5jMzflnbNd5/yEDH7eMjaaS+U+Ss9ktRxCsQtFRnP8kB7BDbOFe XuThj7qIljEyR24pX4tdrifiWG7G2g0= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=tg510x5K; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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 190B65C7630; Thu, 27 Feb 2025 01:57:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96B48C4CEE2; Thu, 27 Feb 2025 01:58:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621486; bh=uM1uKPmHuTy5pB3aPnhpc/7ev2gt12cM7i26onsayOs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tg510x5Knaqgx/5rbI29YLeqJ09i5IxQbxlBnCdce0+KaJQ05TqNa9e3eG3y86gB/ tsqn9Wu39k12aa5QoBNX3awpzJoN42ffPh5euGJrJnoEAg3fN7jKJVpilXVBoH97wa 6dQ5JIi4VZdw90XP3DpK/06W4NrnRymTYvjTNV1QQ4jVn/m+u2R1N33PjulAHdMiGP HWcjfaxiU7wvtWAhrSadi0RgQ628vApLEZYNwf1I3ITjhYmhaMIKjUZw9XRiqRoe12 YfuT6BfzY4HSgakp0hhr7K82dL9IGJHxoj4zWFBL6ejGqDvb/fsR4tWOprqiRg5D5m +AyZggXXK9PcQ== 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 5/9] mm/damon/paddr: support only damos->ops_filters Date: Wed, 26 Feb 2025 17:57:50 -0800 Message-Id: <20250227015754.38789-6-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 34362100002 X-Rspamd-Server: rspam08 X-Rspam-User: X-Stat-Signature: rjej7ysd7qgdew9h64khqp8cqwxgyzuf X-HE-Tag: 1740621487-715855 X-HE-Meta: U2FsdGVkX1967DEUndN3YLZhWo06FZ9XYHxu/VYp2V5dTjvpR1D/WNKpzYKpYhRcWQyHEs/S7aDS0R9lmnhS5ya3xpYexgcAJop/ltFnJ4FQYB7JvLt8C7fHbcTWyHh0g4xlgUp4CsXsxSiIKt23nZ704/zYgjFAVAybFFARUZDyQ1kmuGn3MR6V0sBhA69dF13Yk6zSjL2Q6vWWCm76za+FwW7GFHDOlV3lXsl/2o2mqg8jT5gYp6DiAYfO/R6suSnAqexEoun/U4C/U8tH0iTw/69yQokwLGdlgE/V2edtsPoApS7RXCe+Y/+ZJbMtIzyvplrkm4ctdvLAjairO2wuvvXjZR5jHUF7Ts3aY+eRK3qwpxTeamxu8vOUHyzY+Id7lzIwOx5QU1b65fsDRF7ZnbkZT9VCqplkoVO4ac2fBLIm8ymyg1+i6QvNXWRTdTr0QvMjRKuv/XgLHfpnqKb5lV9TbACqr1gEZJC+WG3dHsUuzSNKjZ9Tq3nHtqe0sA0RqNphtGkT+D3wm1efS4BTDK4VAuO9F9uqqL4k7On9+CMrwrkPzSIqdzoow034jluVy4BdKnXUu0wcU0gbhyh3Om86H2ArGRiDxfq1E/oFWExTmOdHFlbNumeQ1zAEWRotVQ7NeJy2Z/cvBw5qxmUSTxJWNUARV10fz4fKpqB5RGGNpNH2IUZ+tdlKBehh+Wkm/VFoUwfKcxQvNifGc9lp3yCDfSt4BloW/ZvgzXnqE6Tb8iz8V/xVF/2IWOoCDe7pndVnCyMrDOw4GKI4B7VaOaHkfLZ3LgCPdxHjGIZ8BXBFpjxMCFCJMkwa72qr8nyOE7cJBnOze4VXiMLNxJXS8xCn+LxyaYBK96UJntez2ucq1nUJq/0jiNxS8nPN66d6/976CEo8iSB5L7k+zhPt62AkIxRq0YWuziPpJy43jjvnEnUI1tOsFkTRQ/WTrAXcdSQLAalY6i5i4Xw J6Or/ELi yfZEzH3ial7YDap2pDKA2XRq4b5yxTjY0+j2iBCW+kpRb9mjBUNstuCz8mt0QGYTUMjwgkBclz6s7/L/ZQ2h3UnfJejK6vtCipCyMm3dQy+47S+jQ8Qp/vpaYIZiKP4N/SNn/ief8Q76HK3sgov97CkjvpieaWqQ4QmzlgNFRjh/xEBXhBYkGpnMXZLQDVY0y1qBdiKe5H/g3SgTp8jNWtuWvT0g4KV3Phy+CRyodJ/hBH/m718+yMYMAVn4D+kAfpHE0wEv2qxcCnsPKQ2zwsxtN8g== 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 physical address space operation set implementation (paddr) started handling both ->filters and ->ops_filters to avoid breakage during the change for the ->ops_filters setup. Now the change is done, so paddr's support of ->filters is a waste that can safely dropped. 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 27 01:57:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993528 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 2697DC19776 for ; Thu, 27 Feb 2025 01:58:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7AFC6280005; Wed, 26 Feb 2025 20:58:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 72A52280003; Wed, 26 Feb 2025 20:58:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 57AF9280005; Wed, 26 Feb 2025 20:58:10 -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 31DEA280003 for ; Wed, 26 Feb 2025 20:58:10 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id DAEC91A14DB for ; Thu, 27 Feb 2025 01:58:09 +0000 (UTC) X-FDA: 83164064298.02.0DBB8F7 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf04.hostedemail.com (Postfix) with ESMTP id 4DD4140004 for ; Thu, 27 Feb 2025 01:58:08 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WFg4aUZp; spf=pass (imf04.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=1740621488; a=rsa-sha256; cv=none; b=o0vMMXkG5B88gv7G9MFA8hGbDCaASEPU74kCnaC+L/2dw388hz54D82h9RgcVhZzDzZQja OOdeG+snVMaJHSFMoHO5PQRJGeLO9M0qOs1/LVkOf2k+KoAzSaC1teIXsyWXatwV4q2JI+ Ysy2avd7NX4QajDsyn3qLlpHpmFMHRw= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WFg4aUZp; spf=pass (imf04.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=1740621488; 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=Rg7zKw4HGZMRGL5ypp5Y+X6NI+3OD2OU9TrQ7e884ts=; b=532PWv5OlYwlSLy4ujUEqOveYi8fzqDC5LUYfpye9CvgpGOfwQvPmJOSnsqhYPcF0X6UTq +73f3eWfa5n0FnfL4GI9JZR6QuacFZj/4rN8HnXUFp0NBG6jB7dKxComFbiOdGq2oucDKv iPAAcImuKuJeEjPJRlQsL1PCGez5U/M= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 369AB5C7641; Thu, 27 Feb 2025 01:57:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B480AC4CEE9; Thu, 27 Feb 2025 01:58:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621487; bh=S9XFinRzq8Qckj8OZ3J96suStAifVelwVdFkfT6lwsE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WFg4aUZpcvDAJt0FMFBylM4KTG431Bd2TRJeJRv7JGBWoHnrsuUQdQLRTT84gi0aN jSZn4AmmhGfesBe8je+1OKX9QewD8rGm8sTkaO/ueid/QTNyvwT/+bt/E4+QTn49tA F/24IP1GLwnSIyFU6EZq9BzGAlFDJbaacDr4NPETqZ/0IKg9mthPql3jFwtf3NJiJh 6cIwyyXOylr8SoA/vObsNNTb/TsoqtEETIzcj6b/6SQmhJnzD3xykHaiIbr7HlfThh SOyhSqCFz3q+HZKSfR1FkujwGAGN5Pf5yOTLzdgRXwDkOP7mmrJh0MBaBrIl3aOTiK PcaKpNlf9SmUQ== 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 6/9] mm/damon: add default allow/reject behavior fields to struct damos Date: Wed, 26 Feb 2025 17:57:51 -0800 Message-Id: <20250227015754.38789-7-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: ebddrqyek79j6xq3dkqmaidk3hdzc5r1 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 4DD4140004 X-Rspam-User: X-HE-Tag: 1740621488-388915 X-HE-Meta: U2FsdGVkX1+/S5hjFsyxXwD/p0TC044d5XgBFiZw1R/66ekP1m9LHzYkN5EZEgr3tFlZ+hg8fykWAvMZtktPk08+MY1E8GlzOw9NTx5kpHtiNmptgtgDbzm07B+heV7U5EfNhli+Ya7hmRmoN8E8NkhotZYaAfdf9xHR8aVI0KqvxWlPmR3QD3yD5HnICUoUyEuvbq6JGxgDxGyWsNjX1gt9sRoPxXMfSYt5H2VGFFOmcNIPlftLeefnE1RkMbLwp5sxJI8hCoB7gsVoNRmPnMogliIKwiyTqkoDKiKT5/AvG7f4HSddgNoq8h31RFKbdB1c2jHciNtHV5UNguh5amEItMzxotl5O3UV0SpYIvnqLTpT4xVcQxK16NgNP0IjI2VhbxxPbYSI0oQk/hwuaHFcPTLV5JR/hTmZtU2p5nzYGmmySAsIbnY/yi5ud4kwBvQkL0M1S53IWu6no/8UWgh3uoJNbRYlB3iGOXebqHYTFwizmIFf+4iBRZOASc6ImSJZ3WpZBPNHVCPd3zI6nGdAce51AJJnHqRicz1vsqYhslgyF1D5c8SxD4fM/2Puf5l7+uAFevl4WjYik8tHhrN46xQGPcOLbA4szNlsD0Tcf1lTiAKMaCqazYk8wCBQh/Jg98o+ZXpDeKtvg6rzNgKW4EqgGmz+yvwgUt1mqymiyyZZY9kkb0896X+DqlL4KxGBgHmTdptLTVSTaeEfiSe13CVCXqByp2trgd2PpOAKd3I8NwbWTHuw0Avni/sxKx/swDdyW4JGQDzDZ0Nc2oSoLDFVjHgR5T0x8ue7aFZ6Cj8tb/D4pJRLYdXIqfqdJ8tJfvWglYt6MOvIUS9vo6QJtf9IDB/s/IM85jStpyveymDwtkeMUfiJKa2gVJGmhFSc/VsuMVm3w+QzZm2cHi1zaNkcqGYMw7oWtqoxVzUo8SrfL7RWlVo/M9XWyvxEm3YstMIftPiuZyiSa9G CoBnu/uk f93Rsf8scbcNdT+t8o5+sB0ep+VWuxSM9ncvsZ2X68FUdod33n/V8AwgypVhHGoYHxdeKPGflHq7URl+Wl3HF9E6DoY+mf4M6oqNatO6VMBGZz4LQycCjilpYPPZPpIB6dIHE28KjJKiDjHANKlbVs6kfqvbr4bjU5vuBQlk5mkK8EnwLzgGCi5a0189DkFertD2As4h+zmEU5nJdqvFOa1BdXNT/64fw+BX4y2AhxMEkVN4= 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: Current default allow/reject behavior of filters handling stage has made before introduction of the allow behavior. For allow-filters usage, it is confusing and inefficient. 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 storing 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 27 01:57:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993529 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 86CA5C19776 for ; Thu, 27 Feb 2025 01:58:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D94D3280006; Wed, 26 Feb 2025 20:58:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D1C33280003; Wed, 26 Feb 2025 20:58:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B9531280006; Wed, 26 Feb 2025 20:58:11 -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 8E329280003 for ; Wed, 26 Feb 2025 20:58:11 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0CAE3A39D0 for ; Thu, 27 Feb 2025 01:58:11 +0000 (UTC) X-FDA: 83164064382.02.98BB82C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 775BA100004 for ; Thu, 27 Feb 2025 01:58:09 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=RjWj45f8; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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=1740621489; a=rsa-sha256; cv=none; b=f9D6T1nXtNBfhOgxgDGPfSNBpNqy82iMYeLSTktmDpB7DhYt7G4Emf13vLrUGVzG3W+nfS 1OXOkxUb3+DUNmRHLogSrm3W9Oj+38BMLOWQ/dDoF6Fg/NdHVjk4VqVPJY0F14IstBcqFu tPwumLMbKEG3gHsKg1NDZiwcUNmnbN4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740621489; 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=f94hiwllHBLFolcQHf26wLj0O6QKa4c01rZLHw7hc+Q=; b=GFChiRuu2ZfGoqfuMK8r82YhYhHxgO5eTA+c8P/nZw5z7LaRUwy7udINoSW1vuD9BWeeZM IqT7qd/c4qWQUk+gaIG9GzWz+J0X52Wv8AMX7hO+NfdJDYlmS8AT6gwcAFLU5hLNJljUDp 9D5JY10L15JNUR9Ko+6sM6NXRAnl2q8= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=RjWj45f8; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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 5CFF35C7622; Thu, 27 Feb 2025 01:57:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C248FC4CED6; Thu, 27 Feb 2025 01:58:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621489; bh=o7Tb1fqSTBTcTFBCmPVioCKVuRP26jC84n9gdZN/Nso=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RjWj45f8qr9qybW6WhIY7KWi/G9KlZfLpHRUkMdyTAbkuEei4cWOQ3htE9tfpt9yM La6TSblyuWFzAtcsqfzTo//ggqbrT3jquB0NjWz35ZhFhKRT+fcmhqDlWyO44XmENh 1c20ENmIjra3EJ2LCQ7QJheQo8AylmISq4gXx95fJ4NrieksEzbjyuVUQBRp2zClyZ NN/uFghaiRogYtUyrVFzf2AtQKC6tI3kqCXvTa7aNoUKF0pmVRiWz/kzD3wmIj2igS yJvd3XrlexS0UxTYRE2f/3aI4wfT16zwn3fCurB10mcV4wYOpSHMMLFoUkHTaknxgc 5B7O5uX1B4r9Q== 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 7/9] mm/damon/core: set damos_filter default allowance behavior based on installed filters Date: Wed, 26 Feb 2025 17:57:52 -0800 Message-Id: <20250227015754.38789-8-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 775BA100004 X-Rspamd-Server: rspam08 X-Rspam-User: X-Stat-Signature: p5mjnqzppwb1iq4oywcdhs4wow4i6w5s X-HE-Tag: 1740621489-382210 X-HE-Meta: U2FsdGVkX185JAx5ziu1vwsfZKHwThT0skZ06d6T205PpLhudQ8qQA2cxdYt+9jqQ02jhfXN3jSa1wq+tvVU2DlmBvloDiYetzjsXAVK+fR8BcqRp7P+mQw5wq1ZlBdWvs7ovk2O0+uW1W7OG6740mgByF51VaZDxUgZChJtD8urrQvgj/fx7jlZRGrzA+C6vJFysWdStTt2nDAnHBQrJjZIoDb7A30SYmi3Js2xSEcGK1seV6YSqGuvBUAje0yWkNBNBQS3p5Z5GLDMpunpgQS+VhcWbQvsAsgFhwcvRnPzszfr0zQmxcsdtzK9Ff2eP7qtD7Hcy9naFSJUtpshEz6qeaeklWykCHLh5rqiPLg3PEF4E3opnx8j+Puofub+SWxnw3hS+nYkiH0FYGZwk1oh+MK00Ca79wzVegsjN6WkH8DNBl3JpQC2W6wvnVFJf7F9BmjleAN/CKd44GCiFZGMFD/IDeuaqHe0WwweJe1Z7W9szJYwLoD3PGIEBlRw7+FfSPIgIQ5fmJp+DhZXvg5xPRy9bXo740ULqGKKXE2rzItpjAkGeKzkXE4A7IQVrwBU4V2k6p9q8vnAjjiAstgxSO/bIWnWANj5oN2/RLLNQYSyB8e0rVLnz+V8Uq9ZcXEoibZq87Yhxdjaqfa+WcHFT1Kf5jAz8hE8D49gk/TGZ1qY8pFVbrtQ76Ny5pfYosus+bozO/GAOxx4oIgEDlJt8Qp9EIFm3VIxACJWt5RNV4qnNYaxOuaZ7B10k5plWjZc7IfSq7cj5d5ji0+tXcJh2DBnVPHWTnbhgigm2xEQPvr473g7AfIostNcixKAj/Y8Gt6G4wHG4kEnJwSfNBaQ0oXB7gAAzycdtXRS5hphQ5gnvch3M8HLhvRyqVEqOhqTyedBCE8so1nEyjkjVQTAK52XyOsjILYmr7IWPq8BaEV9ZCatxko/SI7ORZPTvjk5iGugL6lBRLdcun6 /2mPSNYQ ZjmzTziABLcbYSZ+l5oBkxNdmQ1wUlW3GOqXBVAl2uI8DseCHaurTsztHpX/8kyX80/XK71S8ZSJ9WA6NoEjvpIsz/iUTVvc4pDMAwlYSQ/r952agzZtnfPaG4mfrYMcxAP10J5jNDukX3eNgg1gRiVZGgCW8kqZ5ijWKvfpYt7gahQCIorcAPpJWuCKg6wIb8LoRAYig52Ady0zT+WpqUwZpQQPszCT6kks2lTCCcJ8Sg94pBRYIcqV7AIVX+jYhCfkBGIIOWSGEEh8+PIyemF1zCw== 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. It is decided as the opposite of the last installed filter's behavior. If there is no filter at all, allow by default. If there is any operations layer handled filters, core layer's filtering stage sets allowing as the default behavior regardless of the last filter of core layer-handling ones, since the last filter of core layer handled filters in the case is not really the last filter of the entire filtering stage. Also, make the core layer's DAMOS filters handling stage uses the newly set behavior field. Signed-off-by: SeongJae Park --- mm/damon/core.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 78126a5145fd..8661f64ab1b4 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -864,6 +864,32 @@ 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) +{ + if (!list_empty(&s->ops_filters)) + s->core_filters_default_reject = false; + else + 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 +897,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 +1520,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 27 01:57:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993530 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 6487DC19776 for ; Thu, 27 Feb 2025 01:58:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A5EAD280007; Wed, 26 Feb 2025 20:58:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E68E280003; Wed, 26 Feb 2025 20:58:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 83A8D280007; Wed, 26 Feb 2025 20:58:12 -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 52295280003 for ; Wed, 26 Feb 2025 20:58:12 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 07BE1B6A3B for ; Thu, 27 Feb 2025 01:58:12 +0000 (UTC) X-FDA: 83164064424.03.29E647F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf04.hostedemail.com (Postfix) with ESMTP id 71BF240002 for ; Thu, 27 Feb 2025 01:58:10 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=TDxU2T+f; spf=pass (imf04.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=1740621490; a=rsa-sha256; cv=none; b=kLn4gS8HfS1UzO3zAl6/eZDxfLH01zSHENRCJ0kHZUX62yJR06kYnQsrbrahYiP1imx0NB ACcnRJqNHOcZTXhAA9d55BtGCdxiQr9eThwwSn7RFhQQCSJXPRGBog8OvBcq1JPKLlde46 OJo13G6pybGK2SSdVh3dFJGxjXTORuE= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=TDxU2T+f; spf=pass (imf04.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=1740621490; 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=v/SopPuEJ8nO4FQzh0OWhP+D54q/KQxXmXbPdy2Ck5I=; b=v5gJAuCTrkIFhNXt2f4Xq5eDwz0B2QnIR0ZNeyExKP+iW1EGGKvp2r5TAUSZ2m/J9CvMKc odieAE85c9TtUeStLdHcTsDJUCUgoMdp+N+Qy7HO7YxrS1NxIxrl8yAEgVcl7itSi4tQyF AeZsRlIKlUf4Y9E8GWQtKNOZdtLTp7M= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 52A3A5C7641; Thu, 27 Feb 2025 01:57:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1DEDC4CEE8; Thu, 27 Feb 2025 01:58:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621490; bh=5EkDSCqQcPc4o5HB4towhIerpdJDJgqyUQWBno/4/Pc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TDxU2T+fb1Lu8ku+Akhya8vo641/KoP0MnyQgPo0COrZXXJxSODx8ZPMPT/8/JWiY Qw5nEETyG1lvk2ANCOBqu0EPYsqsxFVnrL1JefU78M75Jtdkb5ySvMkEJxQzs2xAEl erL9Cnz1H+8q9AAe14/LG5wJDr7YqcVIctO4HIUD1rq0wl4fNrHocT41y9XIHnYnrL LsO/TA49RXhUn+jCEMyE5iE7B6JM4VDwmODLUy9xF9vqoKJl+qztmcgo9Hywnq5auD 6W4m0xhWcIZ0G5zYqHY61r9bC1FBzJBtnln8ZRdvDGUd16d1yCuP9/nMdpY6RU8i/6 VDt8wh5DSc79w== 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 8/9] mm/damon/paddr: respect ops_filters_default_reject Date: Wed, 26 Feb 2025 17:57:53 -0800 Message-Id: <20250227015754.38789-9-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: h8f7717mrj9gwcc7oiekxbf75i1sdjmg X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 71BF240002 X-Rspam-User: X-HE-Tag: 1740621490-621724 X-HE-Meta: U2FsdGVkX18gtEyR5u0EC4pcGmhMOwCT6i2Rx4+wqf4RA+gtSpaCLVQed39yhnNG9JJ1mm3LeJ9udoWXkIwN6NYcXLrxe6qPGXDflcff9qGf0n/4tVLMW33WKk2dEUBlEqc+c0lMw3VIbr6ciTyWXujF0w5bSgkM+LIVkBNCTjsvYKMh2Jpzql0u6LbYTp4lt7B72SK0AdnHQUY+jTmbeiv5ANY4pGoq9jXAHwZ0uKLnSGW6nwk0mRNMJvbD9sfi/2oSZfwDWwHbzCpfEMmwucXq68DajR0U8OX6KYHtQBeu5LCn71pUUExKi+nLayyKfJn+jxP6uzJyY8/KjZRQiAuhNYNlwhQO0Qprcc6njJD4ZxVrCdt44+ugRlH/jhTwql+aP/GB5Gjlj4crElRTYLkTa+wcDJ4ey+AGrW09Xp6ZnVTsYP5V8/jBmyn+CCbCjERLurYwaLJHu4Zex/QPBmbRocwAbjC9iyG8ANfsuhccji+5Z7EqslYQoJ6PedHivL1zEATEOT3/d4pUFByImjetJ+0WybWFS8O2jVO/UBsdiLvv3xkfWM9Wk1w60ZTtfxI2M1j3f6KKYqywqH4fvKHERpIZKkdJkWkT5P4nfo47Pf0ffhYhChf+s8GFaajSZZwOemhGzPfzqKRL2+7QeM8mGB0583nLAWssAIAEaaoovQIly0SPX4jwkrsM785b1jiOIxS+Km7pMBc77JbbZh73jOnF/WnJPoT6tpTeNd7knGd9vIH/4JuYpHKUpUaBINdigZg2bwW7UZ/Q+wCn3Z2TL2pgeScmStJSvsXzp/TSQkz/mTVoDzAPFqUNNtDSCjyo84IbXUmus2y8ryTfxoj84+S/w/IdLQlJiTznUrUbATNQ6Mh/h1RQRcrrdqNeMZ7VhFAAe1cAtuhx8LyMf4ombCTTHaGErZucwEd7S8CkGQsHequ5a8Rg34LrGt2+W9JQ2U5IhauaJDlfOji ZgdNOwlr OncsZ0s94Ci4RZ1UECoKGrj3FXRDuX3QrE7VWpxbdBGAyId1Uaq6Tm01/k7NlizabWo+A8ZLGNKOxmrzGANNEtxJ23a+NnKTuru4zbPyN28qKeydfNhL2axObUnReJQRQrR7193eO3nnx5f5JvgFYZv46BK8wCpTVJLd9+S8LhCpjgdWXbHbdSmuU08SEhPihSY9OTbz23bfwbIPBoz82tZhAQf2mrGiRNlQxbY3YBL5BID11znM1Uw9c2GZiGbse4ittAXTbS7oG4iyMrr9/QN/uNQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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 set 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 27 01:57:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13993531 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 E5445C19776 for ; Thu, 27 Feb 2025 01:58:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 976C8280008; Wed, 26 Feb 2025 20:58:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 90665280003; Wed, 26 Feb 2025 20:58:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 72853280008; Wed, 26 Feb 2025 20:58:13 -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 4E10C280003 for ; Wed, 26 Feb 2025 20:58:13 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 19A83161418 for ; Thu, 27 Feb 2025 01:58:13 +0000 (UTC) X-FDA: 83164064466.21.4A6C1DB Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 78FCE100008 for ; Thu, 27 Feb 2025 01:58:11 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=YFoEwWOQ; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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=1740621491; a=rsa-sha256; cv=none; b=xSKCzcTBUYhRFIj8rQX59gZ1NEbIkJz4jWL243b3eN2soEKW/EL67sUJJAWFnp1LPWP2Wr tRgz6FT5HJ0mzcmkTEyCAt82tQtBcZEz13WBId3WIa6HIGfUx1vFUQ3U+OnG78QNJ5Gxn5 P81Vrjk24QBP5IG6DV/AY/pjGkcP78A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740621491; 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=q9SY97T1RHhI389DUjSiloVpEHuSj33+4wIhpTHxYO8=; b=PRvk/5ORVyM8mCiLMxSckZHVzlL/n9WvnPxpSWKZVdWrP7ZegntHpBte7/il63E6BrZmSA 31fXXmejoQoZdCkZhoXa2gr8Ah71LmbCH3CUesajZI4Y/tLIuDOSfebDysQN+yHet+tLit 4sbRUOZ291tKOKbmfqpagH/s0FuHt70= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=YFoEwWOQ; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.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 5DA805C7644; Thu, 27 Feb 2025 01:57:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E04EEC4CEE8; Thu, 27 Feb 2025 01:58:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740621491; bh=tQqSkhuPbb1T5x6cMu4V0N9ePh3tWbcGixS02DkoMHk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YFoEwWOQMtYL3tiHZY1Klb9D+0FI6oiHIg3qJP9gQ78IuyJzv7mC4Z5XiRo+eS7nE +X9R8bAUwlgr0l6XZKdzqTkFzZMhmbd/P/Eha3YGAjfIylzddDwrO7+ZyoLTLWifu5 Tu2FKElANpXcF/pdBlIchfNiSWjeMm3yJ1J+d1+450u2LbP2A3i/gN+uwdA4m690lK fMyX5xpGp9iB9GtaAZHtik2A0zQ/Jck7wC2VdhVNvpV4Q2movxtcZQMD9ZdPLGG+TZ rshdBICJI0Y7/Iu2K60V4q/eKP4SucGbQPACyRyshuj2ZwIBdhYJT7S5rtRc7HD2oa 4SoI53OREUdiw== 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 v2 9/9] Docs/mm/damon/design: update for changed filter-default behavior Date: Wed, 26 Feb 2025 17:57:54 -0800 Message-Id: <20250227015754.38789-10-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250227015754.38789-1-sj@kernel.org> References: <20250227015754.38789-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 78FCE100008 X-Rspamd-Server: rspam08 X-Rspam-User: X-Stat-Signature: swa1rgkh3645twmznpsti18ayeuknude X-HE-Tag: 1740621491-303225 X-HE-Meta: U2FsdGVkX1/KqWqyep/xpIeMMcdal3q7DKhD9U9MzQI3kLiP+VvoZQHWwbcykLCb2hJQCxIXqsTPlYmrE8Gb89ymTPuAQbPTbUc88cmfTa3oJJk8xDBxIofiMetCdTu4n8r+PDR/HnvOndj2LWQEyzpU5odMOFx9R/2nd4ZG7aNOhgZSOhjgCd4+4UZDgi4aS3NP3IeWhQFO8IiANjcjqQc08JIwjAL+qoNtNr1PdcL29h1Cjd47lr8J7rb90VQXhlE8LqMhVXzMazlp9TzwCFdSy0xzGVVJVcYLqGRfws34vCPPiIJSCLuQ/rmah3eD+JWAT26EauPgNlyG0DwDosqRe0erW3dqebVKybCW3wY9Sh/VqKE4KGQYHYjj5SvNA/PKtilO6m8cPpa0HflMAdWgSBeh3xCqrgz8ldjF9+ynNE6vbah+aUElfisjb7BdjAvnF957qQK6jGevlv2AwUBFGNLatXVI1K/ffpEmyh3HsajVADPW16zLUd7b/NCzNsrzZAiGMsdSRLgRmMsz9fVjG1ftjzXhi8AZo7f4RjyGetAj2CNpjihXsGbjy//yzdIdpTmafdeuxDzZ42cqZEjHtxCtkL+wddKtXbaehoYofTx49YYMvH6ik+iKXlfmPA682s3uJ1N9m5uTPRv75CIhuVxutaxfNVFw9ubmdNU+nr5QSEQwjQ+FMKRNukryjmFP2ZEhJ6nNQ3JbHKG6PRFrPnvIKAfkwnCilVIvziMw8pmwS8YbRqNrc/C1JdhaCZzfVco5kHVn3ve3mfo0rnEGVDDrdE/0O82XEP8UHSXYra17vZPtGbjsE8LfWGNekr84J121AVB+gZ6pyA9fROCJCTJOEJh9apf7NvSZcPUaMYVUND1pauCKpdtsGreI04SPU/Wb8hNZrDk5F5UcmNJsuPn7k0QeUkzfnJ3y4/4Z10uu/URp+Jzyk3MLzVZUkJEnEOW5p5RdKkUjFb0 0Eg5q3We xs8goqOBzh4U9hhCd4fV3swvSmeevXA9k6yS214M75G6HS+VHSlfDqybW13/7fVTJGYFyp+uYApCqpdFrRAeaNhc9KivfoEtfeIRtlmiReGd0y8k0Gtz5cRbPE1bLdbtO3VbnGUmiSWxOL4jHF0ZHhzJpn+9wHAb1xvE/glGsCX8fNsze6X+SdETiRE4OrvREwQTkX7C4Xpvilq6uEWy0Ecuk9o5k1LI84RB8aJEM7ByGLLI= 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: Update the design documentation for changed DAMOS filters default allowance behaviors. 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