mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 15:35:58 +07:00
mm/damon/core: commit damos_quota_goal->nid
DAMOS quota goal uses 'nid' field when the metric is
DAMOS_QUOTA_NODE_MEM_{USED,FREE}_BP. But the goal commit function is not
updating the goal's nid field. Fix it.
Link: https://lkml.kernel.org/r/20250719181932.72944-1-sj@kernel.org
Fixes: 0e1c773b50 ("mm/damon/core: introduce damos quota goal metrics for memory node utilization") [6.16.x]
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
6ade153349
commit
1aef9df0ee
@@ -754,6 +754,19 @@ static struct damos_quota_goal *damos_nth_quota_goal(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void damos_commit_quota_goal_union(
|
||||
struct damos_quota_goal *dst, struct damos_quota_goal *src)
|
||||
{
|
||||
switch (dst->metric) {
|
||||
case DAMOS_QUOTA_NODE_MEM_USED_BP:
|
||||
case DAMOS_QUOTA_NODE_MEM_FREE_BP:
|
||||
dst->nid = src->nid;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void damos_commit_quota_goal(
|
||||
struct damos_quota_goal *dst, struct damos_quota_goal *src)
|
||||
{
|
||||
@@ -762,6 +775,7 @@ static void damos_commit_quota_goal(
|
||||
if (dst->metric == DAMOS_QUOTA_USER_INPUT)
|
||||
dst->current_value = src->current_value;
|
||||
/* keep last_psi_total as is, since it will be updated in next cycle */
|
||||
damos_commit_quota_goal_union(dst, src);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -795,6 +809,7 @@ int damos_commit_quota_goals(struct damos_quota *dst, struct damos_quota *src)
|
||||
src_goal->metric, src_goal->target_value);
|
||||
if (!new_goal)
|
||||
return -ENOMEM;
|
||||
damos_commit_quota_goal_union(new_goal, src_goal);
|
||||
damos_add_quota_goal(dst, new_goal);
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user