[RFC PATCH 0/5] mm/damon: support multiple goal-based quota tuning algorithms

From: SeongJae Park

Date: Thu Feb 12 2026 - 01:23:43 EST


Aim-oriented DAMOS quota atuo-tuning uses a single tuning algorithm.
The algorithm is designed to find a non-zero quota that should be
consistently kept for achieving the aimed goal for long term. In other
words, the algorithm assumes the goal will be under-achieved once the
DAMOS scheme is completely deactivated. Memory pressure level is one
good example of such an assumed goal metric.

It is particularly useful for long term automated kernel-only operations
on dynamic environments. As always, however, no single algorithm fits
all. When the environment has static characteristics and the goal
metric has no factor to move without additional intervention, the
algorithm is difficult to control and accurately achieve the goal.
Systems running by not only the kernel but with some user space controls
can be examples. Actually there were reports [1,2] of such cases.

Extend DAMOS quotas goal core API and sysfs ABI to support multiple
quota tuning algorithms that the API callers and/or ABI users can
select. Keep the current algorithm as the default one, to keep the
default behavior unchanged. Also give it a name, "consist", as it is
designed to "consistently" apply the DAMOS action. And introduce a new
tuning algorithm, namely "temporal". It is designed to apply the DAMOS
action only temporally until the goal is achieved, in a deterministic
way. In more detail, as long as the goal is under-achieved, it uses the
maximum quota available. Once the goal is over-achieved, it sets the
quota zero.

[1] https://lore.kernel.org/CALa+Y17__d=ZsM1yX+MXx0ozVdsXnFqF4p0g+kATEitrWyZFfg@xxxxxxxxxxxxxx
[2] https://lore.kernel.org/20260204022537.814-1-yunjeong.mun@xxxxxx

SeongJae Park (5):
mm/damon/core: introduce damos_quota_goal_tuner
mm/damon/core: introduce DAMOS_QUOTA_GOAL_TUNER_TEMPORAL
mm/damon/sysfs-schemes: implement quotas->goal_tuner file
Docs/mm/damon/design: document the goal-based quota tuner selections
Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file

Documentation/admin-guide/mm/damon/usage.rst | 16 ++++--
Documentation/mm/damon/design.rst | 12 ++++
include/linux/damon.h | 11 ++++
mm/damon/core.c | 33 +++++++++--
mm/damon/sysfs-schemes.c | 58 ++++++++++++++++++++
5 files changed, 120 insertions(+), 10 deletions(-)


base-commit: 3c44a1294328e58fcf8708f8d1c2ddcb03178966
--
2.47.3