mm/damon/core: use damos_commit_quota_goal() for new goal commit
Subsystems (3)
SeongJae Park
maintainerPATCH 1/1 mm/damon/core: use damos_commit_quota_goal() for new goal commit
When a damos_commit_quota_goals() is called for adding new DAMOS quota goals of DAMOS_QUOTA_USER_INPUT metric, current_value fields of the new goals should be also set as requested.
However, damos_commit_quota_goals() is not updating the field for the case, since it is setting only metrics and target values using damos_new_quota_goal(), and metric-optional union fields using damos_commit_quota_goal_union(). As a result, users could see the first current_value parameter that committed online with a new quota goal is ignored. Users are assumed to commit the current_value for DAMOS_QUOTA_USER_INPUT quota goals, since it is being used as a feedback. Hence the real impact would be subtle. That said, this is obviously not intended behavior.
Fix the issue by using damos_commit_quota_goal() which sets all quota goal parameters, instead of damos_commit_quota_goal_union(), which sets only the union fields.
--- mm/damon/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
mm/damon/core.c +1 -1
@@ -832,7 +832,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_commit_quota_goal (new_goal, src_goal);damos_add_quota_goal (dst, new_goal); }return 0 ;
base-commit: ccb48f0d949e274d388e66c8f80f7d1ff234ce46
Signature · 1 line
2.47.3