Re: [PATCH v22 04/18] mm/damon: Track dynamic monitoring target regions update

From: Shakeel Butt
Date: Wed Nov 25 2020 - 10:30:17 EST


On Tue, Oct 20, 2020 at 2:02 AM SeongJae Park <sjpark@xxxxxxxxxx> wrote:
>
> From: SeongJae Park <sjpark@xxxxxxxxx>
>
> The monitoring target address range can be dynamically changed. For
> example, virtual memory could be dynamically mapped and unmapped.
> Physical memory could be hot-plugged.
>
> As the changes could be quite frequent in some cases,

Which cases? Usually address space changes are very infrequent for
performance reasons.

> DAMON checks the
> dynamic memory mapping changes and applies it to the abstracted target
> area only for each of a user-specified time interval, ``regions update
> interval``.
>
> Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
> Reviewed-by: Leonard Foerster <foersleo@xxxxxxxxx>
[snip]
> * Check whether current monitoring should be stopped
> *
> @@ -612,6 +625,11 @@ static int kdamond_fn(void *data)
> kdamond_reset_aggregated(ctx);
> kdamond_split_regions(ctx);
> }
> +
> + if (kdamond_need_update_regions(ctx)) {
> + kdamond_call_prmt(ctx, update_target_regions);

The implementation of update_target_regions callback should be part of
this patch.


> + sz_limit = damon_region_sz_limit(ctx);
> + }
> }
> damon_for_each_target(t, ctx) {
> damon_for_each_region_safe(r, next, t)
> --
> 2.17.1
>