mm-damon-core-commit-preps.patch removed from -mm tree
The quilt patch titled
Subject: mm/damon/core: commit preps
has been removed from the -mm tree. Its filename was
mm-damon-core-commit-preps.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: SJ Park <[email protected]>
Subject: mm/damon/core: commit preps
Date: Tue, 1 Sep 2026 06:24:53 -0700
damon_commit_probes() is ignoring damon_prep. Commit the prep actions, too.
---
mm/damon/core.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)
mm/damon/core.c renamed from mm/damon/core.c~mm-damon-core-commit-preps +59 -0
@@ -129,11 +129,34 @@ void damon_add_prep(struct damon_probe *list_add_tail (&prep->list, &p->preps); } +static void damon_del_prep (struct damon_prep *p) +{ +list_del (&p->list); +} +static void damon_free_prep (struct damon_prep *p) {kfree (p); } +static void damon_destroy_prep (struct damon_prep *p) +{ +damon_del_prep (p); +damon_free_prep (p); +} + +static struct damon_prep *damon_nth_prep (int n,struct damon_probe *p) +{ +struct damon_prep *prep; +int i =0 ; + +damon_for_each_prep (prep, p) { +if (i++ == n) +return prep; + } +return NULL ; +} +struct damon_filter *damon_new_filter (enum damon_filter_type type,bool matching,bool allow) {
@@ -1699,6 +1722,36 @@ out:return err; } +static void damon_commit_prep (struct damon_prep *dst,struct damon_prep *src) +{ + dst->action = src->action; +} + +static int damon_commit_preps (struct damon_probe *dst,struct damon_probe *src) +{ +struct damon_prep *dst_prep, *next, *src_prep, *new_prep; +int i =0 , j =0 ; + +damon_for_each_prep_safe (dst_prep, next, dst) { + src_prep =damon_nth_prep (i++, src); +if (src_prep) +damon_commit_prep (dst_prep, src_prep); +else +damon_destroy_prep (dst_prep); + } + +damon_for_each_prep_safe (src_prep, next, src) { +if (j++ < i) +continue ; + + new_prep =damon_new_prep (src_prep->action); +if (!new_prep) +return -ENOMEM ; +damon_add_prep (dst, new_prep); + } +return 0 ; +} +static void damon_commit_filter (struct damon_filter *dst,struct damon_filter *src) {
@@ -1757,6 +1810,9 @@ static int damon_commit_probes(struct da src_probe =damon_nth_probe (i++, src);if (src_probe) { dst_probe->weight = src_probe->weight; + err =damon_commit_preps (dst_probe, src_probe); +if (err) +return err; err =damon_commit_filters (dst_probe, src_probe);if (err)return err;
@@ -1774,6 +1830,9 @@ static int damon_commit_probes(struct dareturn -ENOMEM ;damon_add_probe (dst, new_probe); new_probe->weight = src_probe->weight; + err =damon_commit_preps (new_probe, src_probe); +if (err) +return err; err =damon_commit_filters (new_probe, src_probe);if (err)return err;
_
Patches currently in -mm which might be from [email protected] are
mm-damon-core-use-damon_nr_samples_per_aggr-for-max-merge-threshold.patch mm-damon-core-remove-debug-messages.patch mm-damon-core-remove-debug-messages-fix.patch mm-damon-vaddr-remove-a-debug-message.patch mm-damon-core-validate-number-of-probes-in-valid_probe_params.patch mm-damon-sysfs-remove-probes-number-validation.patch mm-damon-tests-core-kunit-extend-set_regions-test-for-error-case.patch mm-damon-tests-core-kunit-test-=0-size-damon_set_regions-inputs.patch mm-damon-tests-core-kunit-test-overlapping-ranges-for-set_regions.patch mm-damon-tests-core-kunit-test-damon_nr_samples_per_aggr.patch selftests-damon-sysfssh-test-hugepage_mem_bp-quota-goal.patch docs-mm-damon-maintainer-profile-update-ai-review-for-sashiko-replies.patch docs-abi-damon-recommend-subsystem-doc-instead-of-admin-guide.patch mm-damon-core-error-damos_commit_quota_goal-for-zero-target_value.patch revert-mm-damon-lru_sort-error-out-for-10000-active_mem_bp.patch revert-samples-damon-mtier-error-out-for-zero-quota-goal-target-values.patch mm-damon-core-handle-null-ctx-parameter-in-damon_call.patch mm-damon-core-set-ctx-call_controls_obsolete-in-damon_new_ctx.patch mm-damon-reclaim-remove-unnecessary-damon_call-param-validation.patch mm-damon-lru_sort-remove-unnecessary-damon_call-param-validation.patch mm-damon-vaddr-support-prep_probes.patch mm-damon-paddr-move-probe-filter-handling-to-ops-common.patch mm-damon-vaddr-support-apply_probe.patch mm-damon-vaddr-extend-apply_probes-for-hugetlb.patch mm-damon-vaddr-support-pgidle_unset-probe-filter-type.patch mm-damon-api-introduce-damon_filter_type_pgidle_set.patch mm-damon-paddr-support-damon_filter_type_pgidle_set.patch mm-damon-vaddr-support-damon_filter_type_pgidle_set.patch mm-damon-sysfs-support-damon_filter_type_pgidle_set.patch docs-mm-damon-design-update-for-pgidle_set-probe-filter.patch mm-damon-api-introduce-damos_filter_type_probe_hits_wsum.patch mm-damon-api-introduce-damos_filter_type_probe_hits_wsum-fix.patch mm-damon-core-extend-probe_hits_wsum-for-moving-sum-based-calculation.patch mm-damon-core-support-probe_hits_wsum-damos-core-filter.patch mm-damon-sysfs-schemes-rename-sysfs_filter-sz_range-to-range_minmax.patch mm-damon-sysfs-schemes-support-probe_hits_wsum-damos-core-filter.patch docs-mm-damon-design-update-for-probe_hits_wsum-damos-core-filter.patch docs-admin-guide-mm-damon-usage-update-for-probe_hits_wsum-damos-filter.patch mm-damon-sysfs-schemes-read-sysfs_filter-addr_range-only-once.patch mm-damon-sysfs-schemes-read-sysfs_filter-sz_range-only-once.patch mm-damon-core-return-an-error-from-damos_commit_filter_arg.patch mm-damon-core-disallow-max-min-damos-filter-range-arguments-commit.patch mm-damon-sysfs-schemes-drop-centralized-filter-range-arg-validations.patch mm-damon-sysfs-schemes-use-switch-case-in-add_scheme_filters.patch mm-damon-core-kunit-extend-damos_commit_filter_for-for-wrong-input.patch mm-damon-core-kunit-test-invalid-damos-filter-commits.patch mm-damon-api-introduce-damon_filter_type_hugepage_size.patch mm-damon-core-commit-hugepage_size-type-damon-filter.patch mm-damon-ops-common-support-hugepage_size-damon-filter-matching.patch mm-damon-sysfs-add-minmax-files-under-probe-filter-directory.patch mm-damon-sysfs-support-hugepage_size-probe-filter.patch docs-mm-damon-design-update-for-hugepage_size-probe-filter.patch docs-admin-guide-mm-damon-usage-update-for-hugepage_size.patch docs-abi-damon-update-for-hugepage_size-probe-filter.patch mm-damon-api-remove-nr_damos_filter_types.patch mm-damon-core-use-abs_diff-in-damon_feed_loop_next_input.patch mm-damon-core-use-mult_frac-in-damon_feed_loop_next_input.patch mm-damon-core-set-damon_ctx-walk_control_obsolete-in-damon_new_ctx.patch mm-damon-core-document-damon_call-damon_start-race-hang-issue.patch mm-damon-paddr-remove-pa-parameter-from-damon_pa_filter_pass.patch mm-damon-tests-core-kunit-test-eligible_mem_bp-commitment.patch mm-damon-tests-core-kunit-add-probe_hits_wsum-damos-filter-commit-test.patch selftests-damon-sysfs_memcg_path_leak-fail-only-for-real-damon-leak.patch docs-mm-damon-design-clarify-bp-is-basis-point.patch mm-damon-core-introduce-damos_quota_goal-complement.patch mm-damon-core-add-complement-argument-to-damos_new_quota_goal.patch mm-damon-sysfs-schemes-support-quota-goal-complement-flag.patch mm-damon-tests-core-kunit-test-quota_goal-complement-commit.patch selftests-damon-sysfssh-test-quota-goal-complement-flag-file.patch docs-mm-damon-design-document-damos-quota-goal-complement-flag.patch docs-admin-guide-mm-damon-usage-update-for-quota-goal-complement-file.patch docs-abi-damon-update-for-quota-goal-metric-complement-sysfs-file.patch