On Wed, 7 Sep 2022 17:27:12 +0000 SeongJae Park <sj@xxxxxxxxxx> wrote: [...] > > diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c > > index b1335de200e7..01938f33038d 100644 > > --- a/mm/damon/ops-common.c > > +++ b/mm/damon/ops-common.c > > @@ -172,3 +172,31 @@ int damon_hot_score(struct damon_ctx *c, struct damon_region *r, > > > > return hotness; > > } > > + > > +static inline int walk_system_ram(struct resource *res, void *arg) > > +{ > > + struct damon_addr_range *a = arg; > > + > > + if (a->end - a->start < resource_size(res)) { > > + a->start = res->start; > > + a->end = res->end; > > + } > > + return 0; > > +} > > + > > +/* > > + * Find biggest 'System RAM' resource and store its start and end address in > > + * @start and @end, respectively. If no System RAM is found, returns false. > > + */ > > +bool get_monitoring_region(unsigned long *start, unsigned long *end) > > +{ > > + struct damon_addr_range arg = {}; > > + > > + walk_system_ram_res(0, ULONG_MAX, &arg, walk_system_ram); > > + if (arg.end <= arg.start) > > + return false; > > + > > + *start = arg.start; > > + *end = arg.end; > > + return true; > > +} > > 'ops-common.c' is for code that common in monitoring operations > implementations. I'd prefer to have yet another source file for the DAMON > modules including reclaim and lru_sort, say, 'modules-common.c'. Or, putting it in damon/core.c might make more sense. Thanks, SJ [...]