mm/damon/core.c | 2 ++ 1 file changed, 2 insertions(+)
After damos_set_effective_quota(), the effective size quota may be lower
than min_region_sz (e.g., when the temporal quota goal is
[over-]achieved).
In this situation, damos_adjust_quota() will still calculates
quota->min_score. However, this min_score will not be used in this
window, because in damon_do_apply_schemes(), damos_quota_is_full() will
always returns true, preventing the scheme from being applied to any
region.
Therefore, add a short circuit for 'esz < min_region_sz' schemes to
early return from damos_adjust_quota() before calculating min_score.
Signed-off-by: Liew Rui Yan <aethernet65535@gmail.com>
---
Changes from RFC v1:
- RFC v1: https://lore.kernel.org/damon/20260912124406.96535-1-aethernet65535@gmail.com
- Make patch more complete by covering 'esz < min_region_sz' instead of
covering "temporal quota goal is [over-]achieved" only.
---
mm/damon/core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index ce8c6f99106e..15758525765e 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -3318,6 +3318,8 @@ static void damos_adjust_quota(struct damon_ctx *c, struct damos *s)
damos_trace_esz(c, s, quota);
}
+ if (damos_quota_is_full(quota, c->min_region_sz))
+ return;
if (!c->ops.get_scheme_score)
return;
--
2.55.0
Hi Liew, From the next time, please complete discussions on the previous version before posting a new version. For example, in this case, you could replied to my last reply to the previous version of this patch saying you will accept my suggested changes and wait a reasonable time to decide there is no other opinions. I think the subject is not very clear. How about something like, "skip quota score setup when quota is full"? On Sun, 13 Sep 2026 19:01:38 +0800 Liew Rui Yan <aethernet65535@gmail.com> wrote: > After damos_set_effective_quota(), the effective size quota may be lower > than min_region_sz (e.g., when the temporal quota goal is [over-]achieved). This sounds unnecessarily specific and doesn't cover all the case. What about "In damos_adjust_quota(), the quota could already be full." > > In this situation, damos_adjust_quota() will still calculates > quota->min_score. However, this min_score will not be used in this > window, because in damon_do_apply_schemes(), damos_quota_is_full() will > always returns true, preventing the scheme from being applied to any > region. > > Therefore, add a short circuit for 'esz < min_region_sz' schemes to > early return from damos_adjust_quota() before calculating min_score. > > Signed-off-by: Liew Rui Yan <aethernet65535@gmail.com> Assuming you agree to above suggestions, Reviewed-by: SJ Park <sj@kernel.org> With the above assumption, I modified this patch with the suggestions and applied to damon/next [1] tree. I will repost it for mm.git merge after a week. So, if you are ok with the plan, no action from your side is needed. Please let me know if you have different opinions. [1] https://origin.kernel.org/doc/html/latest/mm/damon/maintainer-profile.html#scm-trees Thanks, SJ [...]
On Sun, 13 Sep 2026 09:20:45 -0700 SJ Park <sj@kernel.org> wrote: > Hi Liew, > > > From the next time, please complete discussions on the previous version before > posting a new version. For example, in this case, you could replied to my last > reply to the previous version of this patch saying you will accept my suggested > changes and wait a reasonable time to decide there is no other opinions. Thank you for your guidance. From the next time, I will reply and say if I will accept your suggestions. > > I think the subject is not very clear. How about something like, "skip quota > score setup when quota is full"? Sure, it is shorter and more understandable. > > On Sun, 13 Sep 2026 19:01:38 +0800 Liew Rui Yan <aethernet65535@gmail.com> wrote: > > > After damos_set_effective_quota(), the effective size quota may be lower > > than min_region_sz (e.g., when the temporal quota goal is [over-]achieved). > > This sounds unnecessarily specific and doesn't cover all the case. What about > > "In damos_adjust_quota(), the quota could already be full." Agree, that makes sense. Since users who is using temporal quota auto-tuning should know what happens when goal is achieved. > > > > > In this situation, damos_adjust_quota() will still calculates > > quota->min_score. However, this min_score will not be used in this > > window, because in damon_do_apply_schemes(), damos_quota_is_full() will > > always returns true, preventing the scheme from being applied to any > > region. > > > > Therefore, add a short circuit for 'esz < min_region_sz' schemes to > > early return from damos_adjust_quota() before calculating min_score. > > > > Signed-off-by: Liew Rui Yan <aethernet65535@gmail.com> > > Assuming you agree to above suggestions, Yes, I agree those all suggestions. > > Reviewed-by: SJ Park <sj@kernel.org> > > With the above assumption, I modified this patch with the suggestions and > applied to damon/next [1] tree. I will repost it for mm.git merge after a > week. So, if you are ok with the plan, no action from your side is needed. > > Please let me know if you have different opinions. > > [1] https://origin.kernel.org/doc/html/latest/mm/damon/maintainer-profile.html#scm-trees Best regards, Rui Yan
© 2016 - 2026 Red Hat, Inc.