From patchwork Wed Feb 26 06:36: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: 13991590 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 36F29C021B8 for ; Wed, 26 Feb 2025 06:36:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5956C280008; Wed, 26 Feb 2025 01:36:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 54430280007; Wed, 26 Feb 2025 01:36:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 43446280008; Wed, 26 Feb 2025 01:36:58 -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 20557280007 for ; Wed, 26 Feb 2025 01:36:58 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id C4614B2487 for ; Wed, 26 Feb 2025 06:36:57 +0000 (UTC) X-FDA: 83161138074.18.1ED742B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id 3AE9F80004 for ; Wed, 26 Feb 2025 06:36:56 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=McqekDSH; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf02.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=1740551816; a=rsa-sha256; cv=none; b=6+hdZ/dNc6+JMh2E7DbOKiNvQUOv/GYaI5/9GSFKm9qL1sLC8dN28+siuQRSzAsF29sF7W eBvsSqqxQnX7/tLNQis0S0OoxD8awVDbi22C/0f1HVVAZPCGUADqSE3zD6gM7HQ0d8OfOa PzYqMKgWSw5175pMtFXEpZN8FoDFvK0= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=McqekDSH; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf02.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=1740551816; 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=QL9nV9L9ODHot9OyI38KgRo4kYUX1RLCq0k76910o/o=; b=E3SodK2eB4T/ukIn9aSV0osAq9urLILmocf8YU1vxBveNKpe269dN7shmLKfEiBawf1I4v CSYkJBYHBdVoNF8NEahlTo2TtvENQHUKDvZ4VeMroxtsg7UMfM1qk+JfqsB9yuOftG+m+n ew0+DG2lN4zcpcgwDREAinUoNiVOThU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 4B7745C58E2; Wed, 26 Feb 2025 06:36:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D626AC4CEE9; Wed, 26 Feb 2025 06:36:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740551815; bh=o9SH1fYNEiXRwA3ASfhCRrr0awf72UpFI9T0tEvO0B4=; h=From:To:Cc:Subject:Date:From; b=McqekDSHQBLBG01+fsprPuEEjq5qcyvwqIxnqm8czWE9y1eRC+56tQ+ZOPd3ro14x fhS6lN0RQ82pKDDV81GBRQID9MsXupHmpNldEoSobHPI4mB9evfLy6h4sLoBsqMgoi iR2O7TnWH6Xj6QZMSmKFEcoLlEpOo+J5hBbrbYXufGhfGhF04AXhPV2gYgxBaWv7pV pjpy3gd0705F0mva2I8E//lajwf9aa222i0xsBd4qWEZKxo1M6arybVOP/Ji5GyfbW iL2sb1kvQJZ5/evYC7KRfassxmiLrO1qrgB6e8yLQaZdJkmiB/7PSn4sY3ovSLg5Lc Q1slVzU7cAt4Q== 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 00/13] mm/damon/sysfs: commit parameters online via damon_call() Date: Tue, 25 Feb 2025 22:36:38 -0800 Message-Id: <20250226063651.513178-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 3AE9F80004 X-Rspamd-Server: rspam12 X-Stat-Signature: gpkjojw3kex134bb5us7z3p7bnxte71h X-HE-Tag: 1740551816-590205 X-HE-Meta: U2FsdGVkX1/vg8A5DfD/7UbchhdFckRyPI/91+8UgHHJnzZgoLLVNTz2zcyoOtz/13rEIHlCLGuD3uEQuN3tEma1jlSBYO8wP6dTA6VY87clN4Bj8CtO9XjRQi5u200U+6HV6wi2MKZY9yUFDsXlJLacLsT5gr5BQSMGBx8vUmvPEIONvwOXYcTh3M9CrHPhv0jOaBfLo8zmy9ppYXntzn6pCraryYAgake0P1sovfe18Xnbwd0SQOCMC5vWNJJE69sfUWFHyTNtja+eCNpefD2xrROIXyJrfQnYhGPtj2UXEVcQM9PwydW+wnHmbVyXbqMBfmls5j2yZ8sSJVL8A4WN6rous18WdVtSdqeE8J+fu0mcXpjZeKP8wbx2sUns1Q2V+yTkdiTJVr12t+qAWkBTg38aIum7cD8JB3Qcd5eCr6SI/8zw3O2zABqHwO3B3KRibObQ7QeRcKwNYGm+orpl8zvubRNC5NgJm0GP0vn45Tp9Ewsx4L3RQQrxosNQyHLd5SePYKdPQTlIwRWdUl2X8qPMXNVG4iWSC2N491kbY7OuUU04i2d+rbsBSjesfLdclR7VIIZtdPQGm+J417MSPBpFq07yHcwGLlg0eD8jLAuwqisWS6xXB7kw1ufaoitSqBuP3VnRtyaR1sMDEqeb5EAUGmB6xu5N7EBKXapcrPKjpXzi6nNQHSJhn5GJJokwRXSEZuEsddQrAomIr64vx9+7crOod4K7dd9w2m8IQIkk/Bm+AJKq8Xa4kSNDjOIN5E6mExLZex4a8ojdn7DZSFmU+U2dahDKGTJAdDjeh+lezsmTBd1FjJTlwsPRcxCpw0Reqv0xS8jL9U+vl0PZ2HYvKN2mnsAkXZS7pdXYGQflfdZUG4wIRF9Jp5WnTC4bEOK4IxUnUtEQMwE0GfDQqVtKdjZUjuukGKvnCjmboEJFuv1mcDLhGeUMpcxDYrU1JS7cJJUmBahv/Ke RnYjchaf Wxxw82plbMzZ1MNR66WCwZ8JpkIprqhXchhOyuAsx92IfJV3OAE+EU05QOv61ipbK76EHmwpctVnLdY2c9Q+r0KJbrMipkdlYsWHV9zYpsTG+rRDo5FXu4vnNQLWqgIM30q904Lhh5CCJ4zEXSHRWWeWt9mbO7KzmFXXTSoQwEsthkq5+K0X6cS3EFlR/9jkw210xCkDOnoG8vL5k+T1s5dn6nEFxheXIsAZb3k5ygY3oHrtT3SPuzsSteMXoq1rW+883 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: Due to the lack of ways to synchronously access DAMON internal data, DAMON sysfs interface is using damon_callback hooks with its own synchronization mechanism. The mechanism is built on top of damon_callback hooks in an ineifficient and complicated way. Patch series "mm/damon: replace most damon_callback usages in sysfs with new core functions", which starts with commit e035320fd38e ("mm/damon/sysfs-schemes: remove unnecessary schemes existence check in damon_sysfs_schemes_clear_regions()") introduced two new DAMON kernel API functions that providing the synchronous access, replaced most damon_callback hooks usage in DAMON sysfs interface, and cleaned up unnecessary code. Continue the replacement and cleanup works. Update the last DAMON sysfs's usage of its own synchronization mechanism, namely online DAMON parameters commit, to use damon_call() instead of the damon_callback hooks and the hard-to-maintain own synchronization mechanism. Then remove the no more be used code due to the change, and more unused code that just not yet cleaned up. The first four patches of this series do the replacement. Then, following three patches (patches 5-7) remove the DAMON sysfs interface' own synchronization mechanism and its usages, which is no more be used by anyone due to the first four patches. Finally, six patches (8-13) doing more cleanup of no more valid comment and no more used code follow. SeongJae Park (13): mm/damon/sysfs: validate user inputs from damon_sysfs_commit_input() mm/damon/core: invoke kdamond_call() after merging is done if possible mm/damon/core: make damon_set_attrs() be safe to be called from damon_call() mm/damon/sysfs: handle commit command using damon_call() mm/damon/sysfs: remove damon_sysfs_cmd_request code from damon_sysfs_handle_cmd() mm/damon/sysfs: remove damon_sysfs_cmd_request_callback() and its callers mm/damon/sysfs: remove damon_sysfs_cmd_request and its readers mm/damon/sysfs-schemes: remove obsolete comment for damon_sysfs_schemes_clear_regions() mm/damon: remove damon_callback->private mm/damon: remove ->before_start of damon_callback mm/damon: remove damon_callback->after_sampling mm/damon: remove damon_callback->before_damos_apply mm/damon: remove damon_operations->reset_aggregated include/linux/damon.h | 34 ++------- mm/damon/core.c | 64 ++++++++-------- mm/damon/paddr.c | 1 - mm/damon/sysfs-schemes.c | 1 - mm/damon/sysfs.c | 147 +++++------------------------------- mm/damon/tests/core-kunit.h | 6 +- mm/damon/vaddr.c | 1 - 7 files changed, 61 insertions(+), 193 deletions(-) base-commit: 58f3b385bf3ed67fa989e13620dae8331df515d7