From patchwork Thu Feb 20 19:46:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13984461 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 570F8C021B1 for ; Thu, 20 Feb 2025 19:46:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E852D28032F; Thu, 20 Feb 2025 14:46:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E352E28032E; Thu, 20 Feb 2025 14:46:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D23D728032F; Thu, 20 Feb 2025 14:46:53 -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 B3F1828032E for ; Thu, 20 Feb 2025 14:46:53 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 6AA39162E08 for ; Thu, 20 Feb 2025 19:46:53 +0000 (UTC) X-FDA: 83141355906.22.6C6CE83 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf10.hostedemail.com (Postfix) with ESMTP id E2BF2C000C for ; Thu, 20 Feb 2025 19:46:51 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=f8Vl2U7L; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740080811; a=rsa-sha256; cv=none; b=6fIuzjW5kpGVGDN3b03YNkorGWPGkYapaOinNhOXdIIl76ezXWwygyQPzeopaU5YwC8UtF rkmU2mnG8mCL8dD8W6/BTrQ/05xQi3PnFDRLtGe9x/ySQVlOk8lLUy0TQhHxIo/g7t89pL mGfkfdlY/D91g/2XAiFnj28FziTLCXg= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=f8Vl2U7L; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740080811; 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:references:dkim-signature; bh=Y4gzQZ+zAY3Uq4PYk5uUm6qOep6INGoatEyHicfWfR8=; b=ix+39eEKp7Ee4j9Vk/KhpEoHGUjCs9T5gV29B/wkYRgvR6OgU1H6sqnwpsUxkXptCoisrN Q1yvhNXZc3DlroqUxc6EfLKBM4WIZai2Qc3Pt62bKE03finQhhuMd6/l1AwuXsp4pQ+o+A QYO2+E6CNVYxkcH+BSAx3jniGT2Cz5A= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id A0653615AB; Thu, 20 Feb 2025 19:46:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C70A4C4CED1; Thu, 20 Feb 2025 19:46:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740080811; bh=nMIxHAwHfKNVZ1CT7y7b5ieN44JjiPdFxVVlky/SD/w=; h=From:To:Cc:Subject:Date:From; b=f8Vl2U7LF7aVgqIkJbwu1aLs9d6CTex8GFKAQKdHAXf7MPG/baCCtzJdD7+unpdYB +im8G6RNDlEXAlmQOjH3/iOah02WF/r21bom+MFBe9/rSv+XL6lEY3DCkBQCQ7zfFb S7/zsWuq5bP1gTkETtBNEL3b2UGJmym9bvXr2Cpr+2yAfdWD6WBVj3DuQShevuxgK3 wiLzkPXjRbIzlb2s2GHNDBdPjOVHCnLgirKacitFBKJO/FV1pv/OgiuhY35VMhAbEy ft8Ro3jw5w6XT7M6s0uSFKf/KStRxtt9Bu2uegQTUvxmC6Z0osNNgRlv923grILvp9 CFSPjARIIBeuA== 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: [PATCH 0/8] mm/damon: add sysfs dirs for managing DAMOS filters based on handling layers Date: Thu, 20 Feb 2025 11:46:38 -0800 Message-Id: <20250220194646.37726-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: E2BF2C000C X-Stat-Signature: dg6g4zgmfgwaeijtpngpan54yngj9dx4 X-Rspam-User: X-HE-Tag: 1740080811-249845 X-HE-Meta: U2FsdGVkX1+n9A2qTakta9BJ5+wsBsBgzc4NCHgkT6dVfNocwuL6mlQBDcokWMbOIRA0k+1Hk8dWcwUBkO5NhdyK00AtM5MNN9EofzsH7SC6Pb915daYKYYZWlpf2MIlEJN3ee5gEO50MU7HTglNN0vxEefUs1CTikLFklcGS9ukdAgKUHI0gJ9a7MiOrRd47+7Wv1dRnCUxuDWCUIb5Ff8+R+C4C0JQqRYsHe8dPiW7t0W0tuMHyi5H1tVCdO9zPo4ZxOdudvA2D0kvkCM+TiQW+rgxhQpDx4C9kWIeI4llZQqbpZaxRLz4E0XaR7WJGufQous0f+qkT7g2nakFZR171thLvwAHWGVEe1mg+k7EX5sxiixi3hRkjO/StrkLlXiBQeY9+6a5uh1al9oA3VRKHCUrM5cGNoj2T2Yha27ZfNSwu30we0jLCo1rEitflwLpfiHcV2daU83wDNaM7RT39XewjS/+6oUr6gZvXBOVojEHsYGbsVaGS3Sir8v9Y/ldtG5RDpbG64QjUxzxgEvP6xERgEbDAc7oyYWgAZcdLOxX3yf/OaavncQp/Ulfdq+wKJCaJCxMOrk+gWDwab/94foZnusuIXvVU0L0hSsZzmVDb2n9E1ajblcgNOPjMp1nwTPzoJud8ZwTf4kd5avm3vtEDGXyFSqYPZqnQcLWN43fr37LWSjO4AmWv/alJbddSpMTSgv4ZaM6FSn7HNcgmAGde6+DiU9JIIIhOYgJuQ1mpReQ8zD4HEzwtwRt1K9a0beslRoo08xLhF9VQtKgO5rbjl2p5gq+ifGvZncq5ce4I5oQjAkU+HI94682ynVN9dNBGV5l85MOtp+ALZZCtJSnQ/0xJubWW/JzSLrgEoV7E5wmoWrzeGEKGahVtK3ik+52yxE2xFLDet7WH+XbUogOZSO7AQ9OS3sUZ2+5nghksttj9jVZsRdf0uA6adwqnKH2yflMzl+b8fs A9qeLkke vKw9m0tEDhlk+zaoMbReR6yWOi+jDqBPw9bPb3zo/HpyKBtNJjWsWzG8wJhP+g0Y65ZmjyFGaLTDVf+ECOIQJ2Tkg3pmH/GB03U+7mJJRcziX7hwj7z0scugsyuvdTivVqKnNlawGoyTT1rYHkkX3Lbtb7YlT1q2QcUNtW8tSHE418qE0p05haKbTQJm6khtPNMD0lLS4LTegvMRFQbcVu8e+94bcrFmBBwNC8DTmD8qeTmw= 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 are categorized into two groups based on their handling layers, namely core and operations layers. The categorization affects when each filter is evaluated. Core layer handled filters are evaluated first. The order meant nothing before, but introduction of allow filters changed that. DAMOS sysfs interface provides single directory for filters, namely 'filters'. Users can install any filters in any order there. DAMON will internally categorize those into core and operations layer handled ones, and apply the evaluation order rule. The ordering rule is clearly documented. But the interface could still confuse users since it is allowed to install filters on the directory in mixed ways. Add two sysfs directories for managing filters by handling layer, namely 'core_filters' and 'ops_filters' for filters that handled by core and operations layer, respectively. Those are avoided to be used for installing filters that not handled by the assumed layer. For backward compatibility, keep 'filters' directory with its curernt behavior. Filters installed in the directory will be added to DAMON after those of 'core_filters' and 'ops_filters' directories, with the automatic categorizations. Also recommend users to use the new directories, and noticee 'filters' directory could be deprecated in future. Note that new directories provide all features that were provided with 'filters', but just in a more clear way. Deprecating 'filters' is not expected to make an irreversal breakge. Also note that this patch series depend on filters default behavior change patch series[1]. [1] https://lore.kernel.org/20250220193509.36379-1-sj@kernel.org SeongJae Park (8): mm/damon/sysfs-schemes: let damon_sysfs_scheme_set_filters() be used for different named directories mm/damon/sysfs-schemes: implement core_filters and ops_filters directories mm/damon/sysfs-schemes: commit filters in {core,ops}_filters directories mm/damon/core: expose damos_filter_for_ops() to DAMON kernel API callers mm/damon/sysfs-schemes: set filters handling layer of directories mm/damon/sysfs-schemes: return error for wrong filter type on given directory Docs/ABI/damon: document {core,ops}_filters directories Docs/admin-guide/mm/damon/usage: update for {core,ops}_filters directories .../ABI/testing/sysfs-kernel-mm-damon | 16 +++ Documentation/admin-guide/mm/damon/usage.rst | 31 +++-- include/linux/damon.h | 1 + mm/damon/core.c | 9 +- mm/damon/sysfs-schemes.c | 119 ++++++++++++++++-- 5 files changed, 153 insertions(+), 23 deletions(-) base-commit: c6ff92c642d665270c718aece87bc33d264d2c00