From: SeongJae Park <sj@kernel.org>
Cc: SeongJae Park <sj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
damon@lists.linux.dev, kernel-team@meta.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: [RFC PATCH 02/11] mm/damon: add a new DAMOS quota goal metric for cgroup on node memory usage
Date: Thu, 19 Jun 2025 15:00:14 -0700 [thread overview]
Message-ID: <20250619220023.24023-3-sj@kernel.org> (raw)
In-Reply-To: <20250619220023.24023-1-sj@kernel.org>
Define a new DAMOS quota auto-tuning target metrics for per-cgroup
per-node memory usage. Also extend damos_quota_goal struct to have a
field for specifying the cgroup of the interest.
Note that this commit is only for DAMON kernel API extension. Real
behavior of the new metric will be implemented by a following commit.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
include/linux/damon.h | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index 39b835dd3c4d..43aef959d357 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -175,6 +175,7 @@ enum damos_action {
* @DAMOS_QUOTA_SOME_MEM_PSI_US: System level some memory PSI in us.
* @DAMOS_QUOTA_NODE_MEM_USED_BP: MemUsed ratio of a node.
* @DAMOS_QUOTA_NODE_MEM_FREE_BP: MemFree ratio of a node.
+ * @DAMOS_QUOTA_NODE_MEMCG_USED_BP: MemUsed ratio of a node for a cgroup.
* @DAMOS_QUOTA_ACTIVE_MEM_BP: Active to inactive memory ratio.
* @NR_DAMOS_QUOTA_GOAL_METRICS: Number of DAMOS quota goal metrics.
*
@@ -185,6 +186,7 @@ enum damos_quota_goal_metric {
DAMOS_QUOTA_SOME_MEM_PSI_US,
DAMOS_QUOTA_NODE_MEM_USED_BP,
DAMOS_QUOTA_NODE_MEM_FREE_BP,
+ DAMOS_QUOTA_NODE_MEMCG_USED_BP,
DAMOS_QUOTA_ACTIVE_MEM_BP,
NR_DAMOS_QUOTA_GOAL_METRICS,
};
@@ -196,6 +198,7 @@ enum damos_quota_goal_metric {
* @current_value: Current value of @metric.
* @last_psi_total: Last measured total PSI
* @nid: Node id.
+ * @memcg: Memcg id.
* @list: List head for siblings.
*
* Data structure for getting the current score of the quota tuning goal. The
@@ -209,6 +212,9 @@ enum damos_quota_goal_metric {
*
* If @metric is DAMOS_QUOTA_NODE_MEM_{USED,FREE}_BP, @nid represents the node
* id of the target node to account the used/free memory.
+ *
+ * If @metric is DAMOS_QUOTA_NODE_MEMCG_USED_BP, @nid and @memcg_id represents
+ * the node id and the cgroup to account the used memory for.
*/
struct damos_quota_goal {
enum damos_quota_goal_metric metric;
@@ -217,7 +223,10 @@ struct damos_quota_goal {
/* metric-dependent fields */
union {
u64 last_psi_total;
- int nid;
+ struct {
+ int nid;
+ unsigned short memcg_id;
+ };
};
struct list_head list;
};
--
2.39.5
next prev parent reply other threads:[~2025-06-19 22:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-19 22:00 [RFC PATCH 00/11] mm/damon: allow DAMOS auto-tuned for per-memcg per-node memory usage SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 01/11] mm/damon: document damos_quota_goal->nid use case SeongJae Park
2025-06-19 22:00 ` SeongJae Park [this message]
2025-10-09 0:37 ` [RFC PATCH 02/11] mm/damon: add a new DAMOS quota goal metric for cgroup on node memory usage SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 03/11] mm/damon/core: implement DAMOS_QUOTA_NODE_MEMCG_USED_BP SeongJae Park
2025-10-08 0:00 ` SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 04/11] mm/damon/sysfs-schemes: implement path file under quota goal directory SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 05/11] mm/damon/sysfs-schemes: connect quota goal path file to DAMON core SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 06/11] Docs/mm/damon/design: document DAMOS_QUOTA_NODE_MEMCG_USED_BP SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 07/11] Docs/admin-guide/mm/damon/usage: document DAMOS quota goal path file SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 08/11] mm/damon: add DAMOS_QUOTA_NODE_MEMCG_FREE_BP quota tuning goal metric SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 09/11] mm/damon/core: implement DAMOS_QUOTA_NODE_MEMCG_FREE_BP SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 10/11] mm/damon/sysfs-schemes: support DAMOS_QUOTA_NODE_MEMCG_FREE_BP SeongJae Park
2025-06-19 22:00 ` [RFC PATCH 11/11] Docs/mm/damon/design: document DAMOS_QUOTA_NODE_MEMCG_FREE_BP 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=20250619220023.24023-3-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.