Re: [PATCH 1/2] mm/damon/sysfs: Implement recording feature

From: cuiyangpei
Date: Fri Dec 01 2023 - 07:25:17 EST


On Thu, Nov 30, 2023 at 07:44:20PM +0000, SeongJae Park wrote:
> Hi Cuiyangpei,
>
> On Thu, 30 Nov 2023 17:14:26 +0800 cuiyangpei <cuiyangpei@xxxxxxxxx> wrote:
>
> > Hi SeongJae,
> >
> > We also investigated the operation schemes you mentioned, but we don't
> > think it can fit our needs.
> >
> > On android, user will open many apps and switch between these apps as
> > needs. We hope to monitor apps' memory access only when they are on
> > foreground and record the memory access pattern when they are switched
> > to the background.
> >
> > When avaliable memory reaches a threshold, we will use these access
> > patterns with some strategies to recognize those memory that will have
> > little impact on user experience and to reclaim them proactively.
> >
> > I'm not sure I have clarified it clearly, if you still have questions
> > on this, please let us know.
>
> So, to my understanding, you expect applications may keep similar access
> pattern when they are in foreground, but have a different, less aggressive
> access pattern in background, and therefore reclaim memory based on the
> foreground-access pattern, right?
>

Different apps may have different access pattern. On android, the apps will
join in freeze cgroup and be frozen after switch to the background. So we
monitor apps' memory access only when they are in foreground.
> Very interesting idea, thank you for sharing!
>
> Then, yes, I agree current DAMOS might not that helpful for the situation, and
> this record feature could be useful for your case.
>
> That said, do you really need full recording of the monitoring results? If
> not, DAMOS provides DAMOS tried regions feature[1], which allows users get the
> monitoring results snapshot that include both frequency and recency of all
> regions in an efficient way. If single snapshot is not having enough
> information for you, you could collect multiple snapshots.
>
> You mentioned absence of Python on Android as a blocker of DAMOS use on the
> previous reply[2], but DAMOS tried regions feature is not depend on tracepoints
> or Python.
>
> Of course, I think you might already surveyed it but found some problems.
> Could you please share that in detail if so?
>
DAMOS tried regions feature you mentioned is not fully applicable. It needs to
apply schemes on regions. There is no available scheme we can use for our use
case. What we need is to return regions with access frequency and recency to
userspace for later use.
> [1] https://docs.kernel.org/admin-guide/mm/damon/usage.html#schemes-n-tried-regions
> [2] https://lore.kernel.org/damon/20231129131315.GB12957@cuiyangpei/
>
>
> Thanks,
> SJ
>
> >
> > Thanks.