linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] mm/damon: support multiple goal-based quota tuning algorithms
@ 2026-02-12  6:23 SeongJae Park
  2026-02-12  6:23 ` [RFC PATCH 1/5] mm/damon/core: introduce damos_quota_goal_tuner SeongJae Park
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: SeongJae Park @ 2026-02-12  6:23 UTC (permalink / raw)
  Cc: SeongJae Park, Liam R. Howlett, Andrew Morton, David Hildenbrand,
	Jonathan Corbet, Lorenzo Stoakes, Michal Hocko, Mike Rapoport,
	Suren Baghdasaryan, Vlastimil Babka, damon, linux-doc,
	linux-kernel, linux-mm

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@mail.gmail.com
[2] https://lore.kernel.org/20260204022537.814-1-yunjeong.mun@sk.com

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-02-12  6:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-12  6:23 [RFC PATCH 0/5] mm/damon: support multiple goal-based quota tuning algorithms SeongJae Park
2026-02-12  6:23 ` [RFC PATCH 1/5] mm/damon/core: introduce damos_quota_goal_tuner SeongJae Park
2026-02-12  6:23 ` [RFC PATCH 2/5] mm/damon/core: introduce DAMOS_QUOTA_GOAL_TUNER_TEMPORAL SeongJae Park
2026-02-12  6:23 ` [RFC PATCH 3/5] mm/damon/sysfs-schemes: implement quotas->goal_tuner file SeongJae Park
2026-02-12  6:23 ` [RFC PATCH 4/5] Docs/mm/damon/design: document the goal-based quota tuner selections SeongJae Park
2026-02-12  6:23 ` [RFC PATCH 5/5] Docs/admin-guide/mm/damon/usage: document goal_tuner sysfs file SeongJae Park

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox