]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
mm/damon/core: skip apply schemes if empty
authorHuaisheng Ye <huaisheng.ye@intel.com>
Mon, 16 Jan 2023 06:23:47 +0000 (14:23 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 3 Feb 2023 06:33:22 +0000 (22:33 -0800)
Sometimes there is no scheme in damon's context, for example just use damo
record to monitor workload's data access pattern.

If current damon context doesn't have any scheme in the list, kdamond has
no need to iterate over list of all targets and regions but do nothing.

So, skip apply schemes when ctx->schemes is empty.

Link: https://lkml.kernel.org/r/20230116062347.1148553-1-huaisheng.ye@intel.com
Signed-off-by: Huaisheng Ye <huaisheng.ye@intel.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c

index 1bf0654ae189df70297866a8d5b62fd35702c36c..2db8c53491ca83c91de5d0f316335edb5165c282 100644 (file)
@@ -1269,7 +1269,8 @@ static int kdamond_fn(void *data)
                        if (ctx->callback.after_aggregation &&
                                        ctx->callback.after_aggregation(ctx))
                                break;
-                       kdamond_apply_schemes(ctx);
+                       if (!list_empty(&ctx->schemes))
+                               kdamond_apply_schemes(ctx);
                        kdamond_reset_aggregated(ctx);
                        kdamond_split_regions(ctx);
                        if (ctx->ops.reset_aggregated)