]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/damon/sysfs: remove damon_sysfs_destroy_targets()
authorSeongJae Park <sj@kernel.org>
Sat, 12 Jul 2025 19:50:13 +0000 (12:50 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 20 Jul 2025 01:59:56 +0000 (18:59 -0700)
The function was introduced for putting pids and deallocating unnecessary
targets.  Hence it is called before damon_destroy_ctx().  Now vaddr puts
pid for each target destruction (cleanup_target()).  damon_destroy_ctx()
deallocates the targets anyway.  So damon_sysfs_destroy_targets() has no
reason to exist.  Remove it.

Link: https://lkml.kernel.org/r/20250712195016.151108-12-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/sysfs.c

index 5eba6ac53939994b9375f1b2805e03fecb6c18f0..b0f7c60d655a9105dd1529223e51a7b1a3afec34 100644 (file)
@@ -1295,14 +1295,6 @@ static int damon_sysfs_set_attrs(struct damon_ctx *ctx,
        return damon_set_attrs(ctx, &attrs);
 }
 
-static void damon_sysfs_destroy_targets(struct damon_ctx *ctx)
-{
-       struct damon_target *t, *next;
-
-       damon_for_each_target_safe(t, next, ctx)
-               damon_destroy_target(t, ctx);
-}
-
 static int damon_sysfs_set_regions(struct damon_target *t,
                struct damon_sysfs_regions *sysfs_regions)
 {
@@ -1337,7 +1329,6 @@ static int damon_sysfs_add_target(struct damon_sysfs_target *sys_target,
                struct damon_ctx *ctx)
 {
        struct damon_target *t = damon_new_target();
-       int err = -EINVAL;
 
        if (!t)
                return -ENOMEM;
@@ -1345,16 +1336,10 @@ static int damon_sysfs_add_target(struct damon_sysfs_target *sys_target,
        if (damon_target_has_pid(ctx)) {
                t->pid = find_get_pid(sys_target->pid);
                if (!t->pid)
-                       goto destroy_targets_out;
+                       /* caller will destroy targets */
+                       return -EINVAL;
        }
-       err = damon_sysfs_set_regions(t, sys_target->regions);
-       if (err)
-               goto destroy_targets_out;
-       return 0;
-
-destroy_targets_out:
-       damon_sysfs_destroy_targets(ctx);
-       return err;
+       return damon_sysfs_set_regions(t, sys_target->regions);
 }
 
 static int damon_sysfs_add_targets(struct damon_ctx *ctx,
@@ -1458,13 +1443,11 @@ static int damon_sysfs_commit_input(void *data)
        test_ctx = damon_new_ctx();
        err = damon_commit_ctx(test_ctx, param_ctx);
        if (err) {
-               damon_sysfs_destroy_targets(test_ctx);
                damon_destroy_ctx(test_ctx);
                goto out;
        }
        err = damon_commit_ctx(kdamond->damon_ctx, param_ctx);
 out:
-       damon_sysfs_destroy_targets(param_ctx);
        damon_destroy_ctx(param_ctx);
        return err;
 }