Re: Re: [PATCH v2 0/9] Introduce Data Access MONitor (DAMON)

From: sjpark
Date: Tue Jan 28 2020 - 07:01:08 EST


To: Qian Cai <cai@xxxxxx>

On Tue, 28 Jan 2020 06:20:29 -0500 Qian Cai <cai@xxxxxx> wrote:

>
>
> > On Jan 28, 2020, at 5:50 AM, sjpark@xxxxxxxxxx wrote:
> >
> > For the comments from perf maintainers, I added Steven Rostedt and Arnaldo
> > Carvalho de Melo first, but I might missed someone. If you recommend some more
> > people, I will add them to recipients.
> >
> > I made DAMON as a new subsystem because I think no existing subsystem fits well
> > to be a base of DAMON, due to DAMON's unique goals and mechanisms described
> > below in the original cover letter.
> >
> > The existing subsystem that most similar to DAMON might be 'mm/page_idle.c'.
> > However, there are many conceptual differences with DAMON. One biggest
> > difference I think is the target. 'page_idle' deals with physical page frames
> > while DAMON deals with virtual address of specific processes.
> >
> > Nevertheless, if you have some different opinion, please let me know.
>
> I thought everyone should know to go to the MAINTAINERS file and search PERFORMANCE EVENTS SUBSYSTEM.

I worried whether it could be a bother to send the mail to everyone in the
section, but seems it was an unnecessary worry. Adding those to recipients.
You can get the original thread of this patchset from
https://lore.kernel.org/linux-mm/20200128085742.14566-1-sjpark@xxxxxxxxxx/

>
> It might be difficult but there is a perf subcommand for some subsystems like sched: tracing/measuring of scheduler actions and latencies.

Seems like you are suggesting to implement the DAMON's core logic as a
subcommand of perf in user space. Because DAMON's logic inherently require
frequent interaction with privileged features that need to be done inside the
kernel space, I think it will incur frequent context switch and might not
fulfill its performance requirement.

As far as I understand, we normally add a data source in the kernel and
implement sophisticated handlings or visualizations in the perf. I think DAMON
is a source of a new primitive data (data access pattern).


Thanks,
SeongJae Park