FAILED: patch "[PATCH] mm/damon/ops-common: use nr_accesses moving sum for quota" failed to apply to 6.6-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 6c25083f7ae7e2660d766169e5b4d3e96010503f
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026090847-trapdoor-essence-0783@gregkh' --subject-prefix 'PATCH 6.6.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 6c25083f7ae7e2660d766169e5b4d3e96010503f Mon Sep 17 00:00:00 2001
From: SJ Park <[email protected]>
Date: Sun, 19 Jul 2026 09:11:33 -0700
Subject: [PATCH] mm/damon/ops-common: use nr_accesses moving sum for quota
score
Since commit 42f994b71404 ("mm/damon/core: implement scheme-specific apply interval"), DAMOS scheme can be applied at any time. At that time, nr_accesses may not be fully aggregated. But the quota prioritization score is calculated using the not fully aggregated count. As a result, the performance of DAMOS could be degraded. Fix by using damon_nr_accesses_mvsum() instead.
The user impact of the issue is suboptimum DAMOS performance under certain setups. Nonetheless, the bug was there from the beginning of the setup availability. In other words, the suboptimum performance is the baseline of the setup and hence it didn't cause regression. Also the extent of the suboptimality was not big enough to be found from users and testers. Still, this is a clear bug that is better to be fixed, and can be easily fixed.
mm/damon/ops-common.c +3 -2
@@ -111,8 +111,9 @@ int damon_hot_score(struct damon_ctx *c, struct damon_region *r,unsigned int age_weight = s->quota.weight_age;int hotness; - freq_subscore = r->nr_accesses *DAMON_MAX_SUBSCORE / -damon_nr_samples_per_aggr (&c->attrs); + freq_subscore =mult_frac (damon_nr_accesses_mvsum (r, c), +DAMON_MAX_SUBSCORE , +damon_nr_samples_per_aggr (&c->attrs)); age_in_sec = (unsigned long )r->age * c->attrs.aggr_interval /1000000 ;if (age_in_sec)
SJ Park
maintainerQuoted 5 lines · On Tue, 08 Sep 2026 14:52:47 +0200 <[email protected]> wrote:
The patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
[...]
Quoted 23 lines
------------------ original commit in Linus's tree ------------------
From
6c25083f7ae7e2660d766169e5b4d3e96010503fMon Sep 17 00:00:00 2001
From: SJ Park <[email protected]>
Date: Sun, 19 Jul 2026 09:11:33 -0700
Subject: [PATCH]mm/damon/ops-common: usenr_accessesmoving sum for quota
scoreSince commit
42f994b71404("mm/damon/core: implement scheme-specific apply interval"), DAMOS scheme can be applied at any time. At that time,nr_accessesmay not be fully aggregated. But the quota prioritization score is calculated using the not fully aggregated count. As a result, the performance of DAMOS could be degraded. Fix by usingdamon_nr_accesses_mvsum()instead.The user impact of the issue is suboptimum DAMOS performance under certain setups. Nonetheless, the bug was there from the beginning of the setup availability. In other words, the suboptimum performance is the baseline of the setup and hence it didn't cause regression. Also the extent of the suboptimality was not big enough to be found from users and testers. Still, this is a clear bug that is better to be fixed, and can be easily fixed.
Quoted 2 lines
Fixes 42f994b71404 ("mm/damon/core: implement scheme-specific apply interval")
Seems the broken commit is backported to 6.6.y even though it is not a fix, maybe to resolve a conflict of another fix. That should be why this patch is tried to be applied on 6.6.y.
Though the broken commit indeed introduced the feature to DAMON API, the commit didn't introduce any DAMON API caller that uses the feature. Apparently commit a2a9f68e358f ("mm/damon/sysfs-schemes: support DAMOS apply interval") has further integrated the feature with DAMON sysfs interface, and exposed it to users. So technically speaking, it is the real broken commit.
And the real broken commit is not in 6.6.y. So, this patch is not really needed for 6.6.y.
Thanks,
SJ
[...]