From patchwork Wed Feb 19 22:01:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13983057 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 A54FDC021AA for ; Wed, 19 Feb 2025 22:02:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 27AD928026E; Wed, 19 Feb 2025 17:01:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 14504280273; Wed, 19 Feb 2025 17:01:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E163E28026E; Wed, 19 Feb 2025 17:01:58 -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 AE6DB280271 for ; Wed, 19 Feb 2025 17:01:58 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0D49B4B64D for ; Wed, 19 Feb 2025 22:01:58 +0000 (UTC) X-FDA: 83138067516.14.FA047F7 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf03.hostedemail.com (Postfix) with ESMTP id 30A622002A for ; Wed, 19 Feb 2025 22:01:55 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UjnFLO6P; spf=pass (imf03.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=1740002516; 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=fm61uLD07o8f6cgoVvtxj+Q5sFP463Gx0kNC46IzDd4=; b=D/NguPCyMef2s01smVMgBKSAfaGvf1+pC5CHQ5JoxApT8YbbaDx/FJamUrtNCM2F+uXFFm byk0jGgUjjOi0U3XiK0BInnpnPw4wc/c1Vao1mKNj30UdShc/ymAFP5Qfo/YjJhM2c8ijm Hifh7suh8pNpCPnwozIHPQICJ8r1caY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=UjnFLO6P; spf=pass (imf03.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=1740002516; a=rsa-sha256; cv=none; b=ADgvNq27pqrOeZtNEdIF7jGDfZj4yYS6IPgT1JmZxzO4wvQOPPTtywEFLoGqeYVsyHEAqO i82m+r4+XKVroxeqc4gjh9TJqhmrOnG1Wy0XMUPwhs1jIu/SV+KnRRLyJqJ68KEFwuRtOQ 1rFCH5sI4rsircIRxaqF5nQEtE+wUnw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 331025C5CAB; Wed, 19 Feb 2025 22:01:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCB34C4CED1; Wed, 19 Feb 2025 22:01:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740002514; bh=yMdFRplbN3e7zt1C4QSJ0uWc/4w7Mm2TY2bv1ScBKLM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UjnFLO6PzKtpIqStuUi3sTF/qOREnKbMASfMlDoKGV6HLYRkrmpCjOh6W/+3XF1q2 yUeH79QOTG+fpArLda747XaOI00vYqs18csmUopLJuoshKtO9XUg8TfLWpoOlknpbt 0WSNptEJuEXahe2ntx+p03Z1fdFhwnW6zCbqpxWujrJVjY5U5UBZW8rJFf7bGFjAdl 7lXsP6HxnkWRndDiK46tLgg26TYFM6prP9hoqqJkkAxXGlD3B2+bvJeCyfNoxrWDQZ /GVvY1SE2xb3Xs1vlOfaO75mbdKiEr6cKvHrLBYJOX+vUPkFKTb+im6mKPAwLJusBj WQ8RQkbpo+QpA== 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 1/2] mm/damon: implement a new DAMOS filter type for unmapped pages Date: Wed, 19 Feb 2025 14:01:45 -0800 Message-Id: <20250219220146.133650-2-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250219220146.133650-1-sj@kernel.org> References: <20250219220146.133650-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: zbdqjcjmhdnfxbh5bg81i9r9mg7aojnx X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 30A622002A X-HE-Tag: 1740002515-398819 X-HE-Meta: U2FsdGVkX19wt9Zw5cHaaF3l/28xlkHTxmeJtt785cRSbNGl69YRw9uFdP9bObu3APnkxUY1I/mIcnCKiMvdLke5PxOrxqTrhFgXPKoNDPd1sUT8ZiBnQPXdK44peTQ2rZrtW564LKs+EaM7/5sUCCDwHtWAqTXSBAnBV9bvpP/duTg9yjHTJT1wVuRxfHiyi3qkYezqcxEgt1YoW4h2uWyQIB+pJESNaNJ/3UPUGOONcfq7ZLns5rgbu+nHX6gas/oit1pWdKcjLY2Os3N2LvEhT7bFABSZwBGXyGCMJZxtYnZn+HbiG+LSWSTwDpxNN5itlrpfL0LJjXk0+L7pKFgKkAni4xnnuZoWlJPF0VXSP/iQ/NUH3wDi9lT7354GwSbvwFzOtGGXhJ1eD/d74tsaWZDp9caebHCmSkg86HZoWCDYv+Fw0bAJnlL+2RJVeSzr9f4DDB8bjMQ0yUfWiULxH4BXxi+zZb2gDSXhxsJ+R3udEXWww5f2ZKIuSXSOJL0QxfXUK3LicwWVPX5onPcBmjM6PnEE/DkwEpKxbY6G2UFUQW4z982TOvEGn/yzkqb4kOvIn1dKLSzCSgJzPB79Xg8IovFLKZhSp+f3X5jpLLSBd2LpT/aCm4EcdsYdTdnHCkJ0PHq9eZQ+6XmDFEFt3ejfvjkdyhRVYPvq0/RWCJlGZoT+AtNOBDY+3EXwjbG9Nx1ePhMHKipKYEFS7icIy5RDd5mgxwuRnAEVgt8X8jDnermb606LVVB7lQwUQE0lKQitlInqGzDwM4Wx0VPA3S3PNkEH2IuBdk/c/tX48xXDFsmV4t1U5lwmMtSdOkm/3TbuXSzjSLY5DBWaSwnVL/EOuG70fX1upabYhn/3KbEUSEV+F4IyrmxvnLjYXLtBjRyg+qjVRlXdW/X+b7DMNo9k0Rwtj5cr78vdUhqKijQIwr2HsE4IF8E0/3PFIVaA28HM5HB35pokd8n VaX6Ryik A0E4fbI2hZzrKR2ClydyCVHYuvZ4nxAvm6tk1+QtPHwOp3051Xqk8bfyayFHDWXkCD/His0PG4QJCvUX+I1ggPx9w31Xek/clA9Ru/xf4AbUQRADeXetTnPMNMQYSWGMI1AsJCOoaVTtqHYFtHOCaCrUuAQEG+ZvsCNdKkuaN8CLudXpP/2dM612LvctwFtYZJxWVxzyxTD+aDNGDchS58aOyUrP0aYT7pLFq6jcja5OyOgI= 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: Implement yet another DAMOS filter type for unmapped pages on DAMON kernel API, and add support of it from the physical address space DAMON operations set (paddr). Since it is for only unmapped pages, support from the virtual address spaces DAMON operations set (vaddr) is not required. Signed-off-by: SeongJae Park --- include/linux/damon.h | 2 ++ mm/damon/paddr.c | 3 +++ mm/damon/sysfs-schemes.c | 1 + 3 files changed, 6 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index 0ed84b3656fc..795ca09b1107 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -337,6 +337,7 @@ struct damos_stat { * @DAMOS_FILTER_TYPE_MEMCG: Specific memcg's pages. * @DAMOS_FILTER_TYPE_YOUNG: Recently accessed pages. * @DAMOS_FILTER_TYPE_HUGEPAGE_SIZE: Page is part of a hugepage. + * @DAMOS_FILTER_TYPE_UNMAPPED: Unmapped pages. * @DAMOS_FILTER_TYPE_ADDR: Address range. * @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target. * @NR_DAMOS_FILTER_TYPES: Number of filter types. @@ -357,6 +358,7 @@ enum damos_filter_type { DAMOS_FILTER_TYPE_MEMCG, DAMOS_FILTER_TYPE_YOUNG, DAMOS_FILTER_TYPE_HUGEPAGE_SIZE, + DAMOS_FILTER_TYPE_UNMAPPED, DAMOS_FILTER_TYPE_ADDR, DAMOS_FILTER_TYPE_TARGET, NR_DAMOS_FILTER_TYPES, diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 9f03e1980b8d..25090230da17 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -236,6 +236,9 @@ static bool damos_pa_filter_match(struct damos_filter *filter, matched = filter->sz_range.min <= folio_sz && folio_sz <= filter->sz_range.max; break; + case DAMOS_FILTER_TYPE_UNMAPPED: + matched = !folio_mapped(folio) || !folio_raw_mapping(folio); + break; default: break; } diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 881d00bb3a34..66a1c46cee84 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -331,6 +331,7 @@ static const char * const damon_sysfs_scheme_filter_type_strs[] = { "memcg", "young", "hugepage_size", + "unmapped", "addr", "target", }; From patchwork Wed Feb 19 22:01: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: 13983055 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 75254C021B0 for ; Wed, 19 Feb 2025 22:01:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C15C0280272; Wed, 19 Feb 2025 17:01:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B7875280273; Wed, 19 Feb 2025 17:01:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97BF7280272; Wed, 19 Feb 2025 17:01:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7086128026E for ; Wed, 19 Feb 2025 17:01:58 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id AA8BFB10C0 for ; Wed, 19 Feb 2025 22:01:57 +0000 (UTC) X-FDA: 83138067474.12.3DFB63A Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf07.hostedemail.com (Postfix) with ESMTP id 0F04140029 for ; Wed, 19 Feb 2025 22:01:55 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=aGqnPWha; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf07.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=1740002516; a=rsa-sha256; cv=none; b=ExwIItg6GkIpx+5jVKVHs2aF5cVylzxYiICZv13vFEtk5qT0w9mU90jNptrkEuJbfyWLO/ rHogfdo12F3puhX1QK4c6GkOmf8cDJBN0lP5DOdfJIRBxagRcIWtpk1AjYKc/hmqd07Z10 63fe2FRp2NtxqQn33MtqxyPTfie89fQ= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=aGqnPWha; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf07.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=1740002516; 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=iOAAxq09AukQ+OxHBlPaFurNyhspRakLeqUwtTFIwEs=; b=j5FJOi/Qlg8Cw7gcHckTvNTYEUkaH4UeIg4vUYngv7WmokCKcALk3jR89MV7s+gkF1MCBC /CjPwwIfd4CldxeHTDOqcRRaQX4uZetyOF6nsx/L4hBdP0ST3p4y7+CIqq4t8pWekIK0XK py0i3rqIWCrrorSjShvSKP/dpqcA7Bk= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 356CA5C5CAC; Wed, 19 Feb 2025 22:01:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 08384C4CED1; Wed, 19 Feb 2025 22:01:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740002515; bh=65ixF1T6FCD2z24Z20ptB4DR16r1B3wdTRVDMcZeP7A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aGqnPWhaaQwoXEtKV799Wpny3FCrnYCyWciM2mss84kRk0C+JDOrYpxBVI9SIngbc E87KhrpCio/ZSwNakrH71PhnePTNc4X9cty1z3AnjkM7sZ8m3OV+PpBT0Bp7HwnDvI CUjfcgD7rZaJUXt3FabWgwRFqxeog0yATg3S9TPJNaSPE7JthBgzNtC1wd7wsi5834 axTt52dH/Jo5XCWPato7Ptil4NY6WsLx9Decv58aYTzFxgxTdRtGz8lfYgibF0GWBu anQIENQRaZP+bpQSU1QVFN2NRt9Z8aW6qWieilwaTqkzwM8XF+wb9G0EzMhAwseZRs vZDTlT4/42YLQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , 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: [PATCH 2/2] Docs/mm/damon/design: document unmapped DAMOS filter type Date: Wed, 19 Feb 2025 14:01:46 -0800 Message-Id: <20250219220146.133650-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250219220146.133650-1-sj@kernel.org> References: <20250219220146.133650-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 0F04140029 X-Stat-Signature: 37ju33i9wrkyg8j15s34aayay4d8h453 X-Rspam-User: X-HE-Tag: 1740002515-535793 X-HE-Meta: U2FsdGVkX1/bGFTCgu3i71BNPOpE31NHItXLSKs0JVPR3NPpubpFIk2CfvPLlSdDBbKReDD9i7dECI0eGpSDa40RLzz5pNjG73xQqiTdQVXM4FKJQfaiFPwmGewkktoNuuPhnX69/UtJCkq7hEHap2E8IBaRKj9mCGwNRpIS2oXHg0F/ITaaKiI46iHo2iOWghGMnPcNxlpokHAnK7MZIkZ2X8PRVHGcPl0PTVOWc5w4j4NfCFu/0+16IxZdKGuS/Lgk6GeZ6ofCpTpSdbnVLO9RT7RqrDEqdOMTE1WxNRqR+c27CQFXi21ZTkgklo2Zl6BK7cqkC4Ob+q7N1nx12VmzEjaCec50sEps0PFCsUV44hP9XgB490wNv16P/uOFmGS29jWoHxlpTtAQ9kx8De8Ms0Ph9xTy+t82bzQJCn7f3DJ4Dv+i4bRXVBQuQEoV4aSsHb8MRovRXoMYqa67itoRRzdzjlD3HWsTgd4VFfSG+UTJH001rC47ysrCZXcghBtscpGsF3iITjoCNfONRYC9ji41Yl4PtH8kJ2WnKx8taz7zCvAELlf8tLJeYU9BnzE4CDoxMrM2hk+STUr9l0/pYDjakVV0vC1c5yE1vRSvThbE2NBwoeHXlUE6+GRcAaLPmqhhCHxkLwO+Is23NW12Utq8F7wpZvk0Dj9edqOvJV+JLTNZEaFKUH3vbvBhEzJyFcrsg6W2Bj+/K6uxfK69zzTTAJKNZ7IhV+CuB+5l21EZN2SQaCY+C7U6FORPVulTAm0H352ECcYt7pDtBepkUfP8JuKdmlbfcOnIXar7xFWb6FR8bMiZv8wdbbABRU3qmgfLsExr8/6HfPvOM+/Vpw4JmIh2ISmM87jAkxTpta6WepNRnbdjfvKcbHL4SSG/Moxr0AAtzF2r3J9D+lLyDjCvqtiy5IsrV8i9lZd9ziCzcMTnA7Kd/A5VFyOEOp8i+RIUM0zQOu9TqGx Jw36kYya +NE1rlZCr7yAsx12i+Ng9gQ5tQolf2cwJD3IS+N16cins19zfiflPClUOIU37k3W0WDdIiD+4jL4JyIWlMriXERVhO8oq3NGg3xrWUL+Nxn+476YP0nMRQpcGldBXtDa7gc3zSbTHQqmDtahFvBpypnyGuAB+vm/4iVeRyZlDGP0PvqQ5dngF4lRnyuqfHOsRwWU0Ek97kVQ8YHVS/BdP99gZf1oUpN1OxW4bJfsPThBbyf4VUkz+8YV6yahPwz+C9uEF2MvezI6A1TmdkD3YnG2marl0Q4MPrJPHDd2mm1K9fnA= 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: Document availability and meaning of unmapped DAMOS filter type on design document. Since introduction of the type requires no additional user ABI, usage and ABI document need no update. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 6a66aa0833fd..5af991551a86 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -617,6 +617,8 @@ Below ``type`` of filters are currently supported. scheme. - hugepage_size - Applied to pages that managed in a given size range. + - unmapped + - Applied to pages that unmapped. To know how user-space can set the filters via :ref:`DAMON sysfs interface `, refer to :ref:`filters ` part of the