From: SeongJae Park <sj@kernel.org>
Cc: SeongJae Park <sj@kernel.org>,
"Liam R. Howlett" <Liam.Howlett@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>,
David Hildenbrand <david@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
Michal Hocko <mhocko@suse.com>, Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Vlastimil Babka <vbabka@suse.cz>,
damon@lists.linux.dev, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: [RFC PATCH 0/5] mm/damon: support multiple goal-based quota tuning algorithms
Date: Wed, 11 Feb 2026 22:23:07 -0800 [thread overview]
Message-ID: <20260212062314.69961-1-sj@kernel.org> (raw)
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
next reply other threads:[~2026-02-12 6:23 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-12 6:23 SeongJae Park [this message]
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
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=20260212062314.69961-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=corbet@lwn.net \
--cc=damon@lists.linux.dev \
--cc=david@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@suse.com \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
/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