From patchwork Thu Mar 6 17:58:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14005058 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 66C14C282D1 for ; Thu, 6 Mar 2025 17:59:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D226280002; Thu, 6 Mar 2025 12:59:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 35A51280001; Thu, 6 Mar 2025 12:59:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2497E280002; Thu, 6 Mar 2025 12:59:16 -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 06964280001 for ; Thu, 6 Mar 2025 12:59:16 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id CEE35C2171 for ; Thu, 6 Mar 2025 17:59:15 +0000 (UTC) X-FDA: 83191887870.02.465AF49 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf18.hostedemail.com (Postfix) with ESMTP id 07F961C0017 for ; Thu, 6 Mar 2025 17:59:13 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Sy86SIla; spf=pass (imf18.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=1741283954; 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=2OJsJpFf2BGPs5n3Juax0Wa9p27tiJVgBSTiS8NRfPQ=; b=cZCeb9lIMooj28YkxoPS5sbThRLk34YR00/numBKxXh6dovhwV2vGLs3rb0fboeCY5TwsX jrEVZQdjwXL91mjj1SYBH25LU8eouX0ZLGTi6Uj1yjeNwS5j9jdjxiTE+3mxHShWYiYzPb rkXlX7cAeHegXchKWP1UHqq8epHZY40= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Sy86SIla; spf=pass (imf18.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=1741283954; a=rsa-sha256; cv=none; b=hd8onGHAqQ2dRvU/c6EQLIT1j8zJygkFBh5/+l2UwcWQ7yTEZG/TT3gzhywbvfepXciJIW U4G2qXXALK/lg9SzBgSTo+xI7KWvzpjjmA1wM25Oj4HIALsC2e5/GTfM/Y5rSB2rZLMh+z ojZexTF2uH1b2NArkJYiCm3bd3vZVEM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 1D3125C594F; Thu, 6 Mar 2025 17:56:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B35EC4CEE4; Thu, 6 Mar 2025 17:59:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741283952; bh=j4BAmkKgo7Cq/w7oh4HOwYboKnOW/VClrDi8rpntWqQ=; h=From:To:Cc:Subject:Date:From; b=Sy86SIlaYxt3VmFWaVv2GAiJN0MXlwNyscEMAwqcnEPHySZpL3dG0G3sfhjtjXGUx 7CiA5W4NGsrnvjXxt7IuCqfCRUpJ6Llf4g5CbAydycc7FBb5dD0HhyKc1ztDTtyLbk zix90DI/UiFhML2HInxOnUKf4ltHpucq8mo4PItplSDwkRfY8MMBIoMEiHWRlCFPkl B9IWLrg9X1DCRSri1u/4dFxJeN9GQcNUrZissX4QYXNfy/29tXOkluri9H6HijWlj7 RUOHh+lDWJ4WYwM3S7VMIfQDEnKQm4lvPvKs//IzYg1NErDZjstg43vS+yRvgXtEVo en01+c12Wys5g== 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 00/13] mm/damon/sysfs: commit parameters online via damon_call() Date: Thu, 6 Mar 2025 09:58:55 -0800 Message-Id: <20250306175908.66300-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Stat-Signature: zqff6pgmpod7aug6xwg4bgrfqefnfqjx X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 07F961C0017 X-Rspam-User: X-HE-Tag: 1741283953-629305 X-HE-Meta: U2FsdGVkX19Aw60pv1VTWBIXpYzdP4Fmw+lVARbcW8+/2HezZDw7O1S1urC73l4kjWSeicHWipCjdT0jLNm8Y61psr6WTBgltZQzyELN1woQMJ3MYhe6o9JCs6hONe+1pCGVE53uRyPNsAPHv7DuqPggYSPkmtwfbLtsfAllfy9gnWD7YGGuxoDjoVUJKgca+i+Gov99DZ3IctxoQnwYkr30kVJKF9KoNE1uj+pZvHQ5WfZFHMX1NC8oT3oGBwUz3LIt6ZcwT/POVSgG1b0EJbyj8rfQn+Ow75zcWj2jJWzpPInsVAYi6vdDJReXj7EpikHTWBrsDN8auKkrs8PCuoSO7a8XDivXIC6PygnPE/9CwIu1Que8QWiJdF2VtLHJezmpphvY7yw3RzJoaXPuA1tuYqfhtftcjy0TjiWdK8RJ8nD/1K+6Gy2jRtYG1L4SwC9Ghy1Zoqbj92QX2jzBJAnDgO9MRebIRz6ADU2aSce9xOq3x+Il7j6gyaazvMctRSLgw9thSE9zUED5IzdVM9PKoFuRezC5Zcm60tw66+NtED7+UOw/JsX+hIgw0lRjoXESiFRC1kWDGXNCA8GxWGoULx1451exS4MZ/jSZU1gnmylZpoZ3kl5ZZLZkssZWxTWdSPntFaqP9dRMWS2+lnzrOZGH6Pb8eeTA1DHWhBRLaQsY6vfIGvccd1aXBjp6gK1VZFVojwbY9ddnF4tGebquKhaqZJ8m0S2gLpPiq6EaADZROgRVnTecIg3ddwJRyWqOztfabK8K2q7t3vYLPbq89aeaK33SdnfuyCyoFt3JLjiMZeUwz4DbrV+guDlh2KN4cZCNp9Aem+7BUFsagam8gfjfQa2he9x/JFT4Fk+4asslL1boFJvRQHe+vx+DMFhOYuiBGYm0RhpZOHgCakTCeTiGVix8GcQVVGZireFyFc3sPWRfneAN30ibAlh0ueTuaglr+6zWRPlGwxa RHuEKL4c 5XnG/yizJtlVaBCShv3xMHI/rLGfTZrwipR5BhhV1BzpO3w8ACysbgiMJb9txVt3SQOElzCvTQ0T+TDQwwBbn4c4G51squiWNE9S6v8ZUmSZR7hK7EgpvLUe/5S8NWTywMiuVaoDztgPclCqv6Zkf3rtzuwM+OqbfOWaTLbdDoYNE4E0OUkcEa+9xotGfx3J8FXTd7ZieMAZhX0SFa/xABtrqjAfv8aiGMiQ63wDJ4MDzxl3uwAXvOaZy5i3aeVXudYsIfyi00uEBw/DgvigjQHwNIQ== 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' 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 core-external 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 (patches 1-4) of this series makes DAMON sysfs interface's online parameters commit to use damon_call(). Then, following three patches (patches 5-7) remove the DAMON sysfs interface's 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) do more cleanup of outdated comment and unused code. Changes from RFC (https://lore.kernel.org/20250226063651.513178-1-sj@kernel.org) - Fix aggregated information double reset problem - Wordsmith commit messages - Rebase to latest mm-unstable 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 | 82 ++++++++++++-------- 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, 79 insertions(+), 193 deletions(-) base-commit: 1ef510599e7f933f1cd250ba33cd4a1a532a0510