[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250805162022.4920-1-bijan311@gmail.com>
Date: Tue, 5 Aug 2025 11:20:17 -0500
From: Bijan Tabatabai <bijan311@...il.com>
To: damon@...ts.linux.dev,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org
Cc: sj@...nel.org,
Andrew Morton <akpm@...ux-foundation.org>,
corbet@....net,
Bijan Tabatabai <bijantabatab@...ron.com>
Subject: [PATCH 0/5] mm/damon/sysfs: Add commands useful for using migration dests
From: Bijan Tabatabai <bijantabatab@...ron.com>
This patchset adds two DAMON commands, commit_schemes_dests and
wait_for_schemes_apply, that I have found useful for using a migrate_hot
scheme with migration dests.
The commit_schemes_dests command, similar to the existing
commit_schemes_quota_goals, is used to commit only the dests fields of
schemes. This has a couple of benefits:
1) It is more efficient than recommitting all the DAMON data.
2) Doing a full commit resets the aggregation and ops_update intervals. If
a user sends the full commit command frequently (relatively to those
intervals) the aggregation and ops_update events will be prevented from
triggering. Having a separate commit command side steps this problem.
The wait_for_schemes_apply command causes the calling thread to wait until
all schemes have been applied. It does this by calling damos_walk() with a
NULL walk_fn. This can be useful, for example, if a user wants to know when
new scheme parameters they've committed have been applied. Another use case
could be if a user wants to record the system state every time a scheme is
applied for debuging purposes.
The functionality of wait_for_schemes_apply can be achieved with the
existing update_schemes_tried_bytes and update_schemes_tried_regions
commands. However, having a separate command avoids extra work and makes
user intent clearer when used in scripts.
The first two patches implement the commit_schemes_dests command.
The third patch implements the wait_for_schemes_apply command.
The fourth and fifth patches add documentation for these new commands.
Bijan Tabatabai (5):
mm/damon/core: Add damos_destroy_dests()
mm/damon/sysfs: Implement a command to only commit scheme dests
mm/damon/sysfs: Implement a command to wait until schemes are applied
Docs/ABI/damon: Document new DAMON commands
Docs/admin-guide/mm/damon/usage: Document new DAMON commands
.../ABI/testing/sysfs-kernel-mm-damon | 21 ++++----
Documentation/admin-guide/mm/damon/usage.rst | 4 ++
include/linux/damon.h | 2 +
mm/damon/core.c | 12 +++--
mm/damon/sysfs-common.h | 3 ++
mm/damon/sysfs-schemes.c | 35 ++++++++++--
mm/damon/sysfs.c | 54 +++++++++++++++++++
7 files changed, 116 insertions(+), 15 deletions(-)
--
2.43.5
Powered by blists - more mailing lists