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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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

It depends on the application, but there are some cases for the mmap[1].
ebizzy, the popular benchmarks in mm community is also one such application.

[1] Section 4.3, https://dl.acm.org/doi/pdf/10.1145/3342195.3387527

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

Agreed, will make so in the next version.


Thanks,
SeongJae Park

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux