Re: [PATCH] mm/damon/core: skip apply schemes if empty

From: SeongJae Park
Date: Mon Jan 16 2023 - 12:50:59 EST


Hi Huaisheng,

On Mon, 16 Jan 2023 14:23:47 +0800 Huaisheng Ye <huaisheng.ye@xxxxxxxxx> wrote:

> 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.

Good finding, thanks!

>
> Signed-off-by: Huaisheng Ye <huaisheng.ye@xxxxxxxxx>

Reviewed-by: SeongJae Park <sj@xxxxxxxxxx>


Thanks,
SJ

> ---
> mm/damon/core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index ceec75b88ef9..f338691e4591 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c
> @@ -1230,7 +1230,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)
> --
> 2.31.1
>
>