Re: [PATCH v22 03/18] mm/damon: Adaptively adjust regions

From: SeongJae Park
Date: Thu Nov 26 2020 - 07:13:23 EST


On Wed, 25 Nov 2020 07:29:41 -0800 Shakeel Butt <shakeelb@xxxxxxxxxx> wrote:

> On Tue, Oct 20, 2020 at 2:01 AM SeongJae Park <sjpark@xxxxxxxxxx> wrote:
> >
> > From: SeongJae Park <sjpark@xxxxxxxxx>
> >
> > Even somehow the initial monitoring target regions are well constructed
> > to fulfill the assumption (pages in same region have similar access
> > frequencies), the data access pattern can be dynamically changed. This
> > will result in low monitoring quality. To keep the assumption as much
> > as possible, DAMON adaptively merges and splits each region based on
> > their access frequency.
> >
> > For each ``aggregation interval``, it compares the access frequencies of
> > adjacent regions and merges those if the frequency difference is small.
> > Then, after it reports and clears the aggregated access frequency of
> > each region, it splits each region into two or three regions if the
> > total number of regions will not exceed the user-specified maximum
> > number of regions after the split.
> >
> > In this way, DAMON provides its best-effort quality and minimal overhead
> > while keeping the upper-bound overhead that users set.
> >
> > Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
> > Reviewed-by: Leonard Foerster <foersleo@xxxxxxxxx>
>
> The high level comment I have is that kdamond_[merge|split]_regions
> should be part of the abstraction of the target instead of the damon
> context.

Agreed in a high level. Please refer to my answer to your second suggestion at
https://lore.kernel.org/linux-mm/20201126115157.6888-1-sjpark@xxxxxxxxxx/


Thanks,
SeongJae Park