From patchwork Wed Mar 5 22:27:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14003528 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 C63A4C19F32 for ; Wed, 5 Mar 2025 22:27:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 596BC280005; Wed, 5 Mar 2025 17:27:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 54712280001; Wed, 5 Mar 2025 17:27:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 40E88280005; Wed, 5 Mar 2025 17:27:41 -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 23229280001 for ; Wed, 5 Mar 2025 17:27:41 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 18DBEB75D5 for ; Wed, 5 Mar 2025 22:27:41 +0000 (UTC) X-FDA: 83188935522.06.F967964 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf02.hostedemail.com (Postfix) with ESMTP id 9BBBD80002 for ; Wed, 5 Mar 2025 22:27:39 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=dXk7GY8f; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741213659; a=rsa-sha256; cv=none; b=CyjblroFa5A9e2TMgE58NBbyzgQf+bSl1WtP028nXslzvNp701bXnKXso6Zbp9KMbu0q7v dpnZ6D2gh+Ch4nAlJr4B5ZEZs0BehYR4JALymSUW2/7dLP0dADqTtEm5Sac3XVUEYowHBH hPWtyRiieRUhGxeGXFYYxS92o3pQRHM= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=dXk7GY8f; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741213659; 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=t1wrfJPAqhz+qKXDv0hcHyTyyG+V7kzIGENwZ5Pvwpk=; b=tsECW+GX3+FegOVEzQzaHvkvGo6ei/f5Gp8hvwTEgOPVM2GX6nTkVa2mOCbhmyKRdQVpvm ats2xCiHgnFjclOqNgVcBM2BnKz6H8P2v1Kc4jZfos8G8hBUj2XBE7T65F7PKqY20rpomr 2e40iGPcS2FhAtuUrzjv1aGfuHYXKEs= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 320ABA4652F; Wed, 5 Mar 2025 22:22:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6AECEC4CED1; Wed, 5 Mar 2025 22:27:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741213658; bh=OCW6zeu41eNyvtNz1UUuqO+JafK0NgyekccSUEYRBr8=; h=From:To:Cc:Subject:Date:From; b=dXk7GY8f35AQFsdUOOncj/EtIa0cMnodbiNkrOBAM9O0zf31DmDo6J5ycrrvjkwC4 VtsKu851qkrDfrRzeRVic69d8rEEfXlhoaxm36OtJ+zkSWod4fzT4CgHmXDGfYpI9L /mHf8NVSm9PlL+z/krOZXDqwXpTJzqsTS6BPtd5j83NuVI4urViYod1WU0FWE5YNk+ IuTcLhaZoKhywILdU1Opa2yCCMQT63rk9kP8TIpHs3vpWKdh71TbdDLcTYUxhCzH3M D1HRCxpFd3wUnK0dv1hmUkfzOHV9C8x+ePjzbiqF5X7RRtGq7ZCrIE/p/3xlsZ5BLc lPR/wpI27GQ4Q== 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 0/8] mm/damon: add sysfs dirs for managing DAMOS filters based on handling layers Date: Wed, 5 Mar 2025 14:27:25 -0800 Message-Id: <20250305222733.59089-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 9BBBD80002 X-Stat-Signature: de6j5qyrixhibwysowtc61eb476dphe4 X-Rspam-User: X-HE-Tag: 1741213659-465640 X-HE-Meta: U2FsdGVkX193mI2vAwuNHUHG4qXwEVTxbSwrfiXgMPbaoK2QqILcWq7QHDQDEKmvWPa31kXRZfY1EysiXH8gcIzQujxrNPVNxtuDjstptG1jeoeaDgogALgXVb9dYcUpv9HRV2eXalgG4/xJGKKhL5qychAO7WHmT4KY7fAtiStwHPhqCY0KHCGblh/2Uadrc3w2AoEvwyJcmIuxofdDGG3EvME00lboExKjQHMYpvATM4/jMRAcx2cuQieBh38/8xAIOrYDOIPa+sBfHY/rgEH6NUxlPWSlg2dndwGa3qM997IblNSv8x4NN0i6FKFyUS0U+n9d2bwhgv6Z/VKYZlQW6eMpZP7f9eejUnjMapILDl+w5A1FvKvQl1r94DoMFGeQjfVOcL7S0oacKjbgg7IFKddkIWMpSvw/UE9IJcdgOik1j1Urk7LusUmg/PsUtTAgSaYBFaqW213Lpk13l3PATTSr7RAWE8qXIH/dbx8QLos8viJ9255MB+l7+sMk+reu4M54QrHdOJexUNjpH+SJnln4H2+7VkmpoOKOOyUHgcunSaWawAbVu+CWt1iZAvps0x7geCfr2xBWEVNiY2tUlZMBBS+rZjANaXNPE+xDQrphZ6Ok51DTBROUwDSlIyVlRK4C2TQlrcKNQnw+lCCDYc3lfxbCm9ebnLNLQnI2ZR9a/bmRzi9J+sfhzjDmqzTQf41Psg4kycw1fD1/mvt9x4C/U35vYhFP2DqvIcyfge4GhnN/36YydELR9XyXHhv4ac9BgyIhqv6zNwG+VBdWu5R8ZDnz3w9YFSO6aFQMP/Mb4yQGeBGW1Z1QValOKXiqyaIup0LA6XPEF03TJaNrK8+sQM7ywXoGpeV5OYDWJG+Hm/vgHP+J+PE6RpV0pfGOYJ8Qup39ynSWkr79eVSosyAIthRpXFNaDlQMWSvvoO30Sfggf4nsRgaY6nG46KJXT/cW+8OI/bk5iqK PZi1ZyGE 121kVQpTD/ihZ1DEKIWDGyqTKKTsqHepotyoDLEnabKzl00XAleoVpTr+RrazBiqK3nw7upr2EpyWvGuYMYVxX9x9T81HGzYLEVUZBKhAVlV3vxlFpyWi8fGoGPUOS1y+voPaHl6LVw9xfJ4em33HkDn2ze6wPZ0VQ28GGACAxJza7JfM65HCyJ/ox14S+qs5XPe2HkadZjmulkLkiRrL5fcAPt2I5AJw5S6ETPO7iAmfKk0= 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 layers, 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 layers. 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 while noticing 'filters' directory could be deprecated in future on the usage documents. Note that new directories provide all features that were provided with 'filters', but just in a more clear way. Deprecating 'filters' in future will hence not make an irreversal feature loss. Changes from RFC (https://lore.kernel.org/20250220194646.37726-1-sj@kernel.org) - Fix sphinx error on usage doc change - Wrodsmith commit messages - Rebase on latest mm-unstable 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: record filters of which layer should be added to the given filters directory mm/damon/sysfs-schemes: return error when for attempts to install filters on wrong sysfs 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: d5ce0f2fd108557fb138adccb203441d0d70f1c4