From: SeongJae Park <sj@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: SeongJae Park <sj@kernel.org>,
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 [thread overview]
Message-ID: <20250306175908.66300-1-sj@kernel.org> (raw)
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
--
2.39.5
next reply other threads:[~2025-03-06 17:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-06 17:58 SeongJae Park [this message]
2025-03-06 17:58 ` [PATCH 01/13] mm/damon/sysfs: validate user inputs from damon_sysfs_commit_input() SeongJae Park
2025-03-06 17:58 ` [PATCH 02/13] mm/damon/core: invoke kdamond_call() after merging is done if possible SeongJae Park
2025-03-06 17:58 ` [PATCH 03/13] mm/damon/core: make damon_set_attrs() be safe to be called from damon_call() SeongJae Park
2025-03-06 17:58 ` [PATCH 04/13] mm/damon/sysfs: handle commit command using damon_call() SeongJae Park
2025-03-06 17:59 ` [PATCH 05/13] mm/damon/sysfs: remove damon_sysfs_cmd_request code from damon_sysfs_handle_cmd() SeongJae Park
2025-03-06 17:59 ` [PATCH 06/13] mm/damon/sysfs: remove damon_sysfs_cmd_request_callback() and its callers SeongJae Park
2025-03-06 17:59 ` [PATCH 07/13] mm/damon/sysfs: remove damon_sysfs_cmd_request and its readers SeongJae Park
2025-03-06 17:59 ` [PATCH 08/13] mm/damon/sysfs-schemes: remove obsolete comment for damon_sysfs_schemes_clear_regions() SeongJae Park
2025-03-06 17:59 ` [PATCH 09/13] mm/damon: remove damon_callback->private SeongJae Park
2025-03-06 17:59 ` [PATCH 10/13] mm/damon: remove ->before_start of damon_callback SeongJae Park
2025-03-06 17:59 ` [PATCH 11/13] mm/damon: remove damon_callback->after_sampling SeongJae Park
2025-03-06 17:59 ` [PATCH 12/13] mm/damon: remove damon_callback->before_damos_apply SeongJae Park
2025-03-06 17:59 ` [PATCH 13/13] mm/damon: remove damon_operations->reset_aggregated SeongJae Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250306175908.66300-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox