* Re: [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support [not found] <d7edb182-7d49-712e-2d21-7b9f7ae2e4f1@linux.alibaba.com> @ 2021-11-11 8:20 ` SeongJae Park 2021-11-11 8:29 ` Xin Hao 0 siblings, 1 reply; 4+ messages in thread From: SeongJae Park @ 2021-11-11 8:20 UTC (permalink / raw) To: Xin Hao; +Cc: SeongJae Park, sjpark, akpm, linux-mm, linux-kernel On Thu, 11 Nov 2021 10:04:38 +0800 Xin Hao <xhao@linux.alibaba.com> wrote: > [-- Attachment #1: Type: text/plain, Size: 8070 bytes --] > > Hi Park: > > On 2021/11/10 下午9:16, SeongJae Park wrote: > > On Wed, 10 Nov 2021 20:13:14 +0800 Xin Hao <xhao@linux.alibaba.com> wrote: > > > >> In patch "mm/damon: add a tracepoint", it adds a > >> tracepoint for DAMON, it can monitor each region > >> for each aggregation interval, Now the region add > >> a new 'age' variable, some primitive would calculate > >> the priority of each region as a weight, there put it > >> into tracepoint, so we can easily track the change of > >> its value through perf or damon-tools. > > DAMON calculates the age using the address range and nr_accesses of the region, > > which are already in the tracepoint. In other words, user space can calculate > > the age on their own. Therefore I thought putting age in the tracepoint as > > adding unnecessary information, at the moment of the implementation. > > > > Of course, I would missing some use cases that need this information in the > > tracepoint. Furthermore, adding just one more value in the tracepoint wouldn't > > incur a real issue. But, I'd like to know why this is necessary and how much > > benefit it provides. Xin, could you please share that? > > I think these two variables nr_access & age have different meanings, > the nr_access only reflect the > > period of sample_interval, We may be able to get the change of age > through continuous long-term sampling, > > But I think this is not very convenient. > > We only need to observe the change of age value a small number of times > to replace the continue sampling of the region. > > For example, age has been increasing to 141, but nr_access shows a value > of 0 at a certain time. Through this,we can > > conclude that the region has a very low nr_access value for a long time. I understand that you don't want to record all the traces and then process the huge trace data in user space in order to get the age information, because you want to save disk space and CPU cycles. Is that correct? If so, I think that makes sense, and it would be better to put that in the commit message. Thanks, SJ [...] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support 2021-11-11 8:20 ` [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support SeongJae Park @ 2021-11-11 8:29 ` Xin Hao 0 siblings, 0 replies; 4+ messages in thread From: Xin Hao @ 2021-11-11 8:29 UTC (permalink / raw) To: SeongJae Park; +Cc: sjpark, akpm, linux-mm, linux-kernel Hi, Park: On 2021/11/11 下午4:20, SeongJae Park wrote: > On Thu, 11 Nov 2021 10:04:38 +0800 Xin Hao <xhao@linux.alibaba.com> wrote: > >> [-- Attachment #1: Type: text/plain, Size: 8070 bytes --] >> >> Hi Park: >> >> On 2021/11/10 下午9:16, SeongJae Park wrote: >>> On Wed, 10 Nov 2021 20:13:14 +0800 Xin Hao <xhao@linux.alibaba.com> wrote: >>> >>>> In patch "mm/damon: add a tracepoint", it adds a >>>> tracepoint for DAMON, it can monitor each region >>>> for each aggregation interval, Now the region add >>>> a new 'age' variable, some primitive would calculate >>>> the priority of each region as a weight, there put it >>>> into tracepoint, so we can easily track the change of >>>> its value through perf or damon-tools. >>> DAMON calculates the age using the address range and nr_accesses of the region, >>> which are already in the tracepoint. In other words, user space can calculate >>> the age on their own. Therefore I thought putting age in the tracepoint as >>> adding unnecessary information, at the moment of the implementation. >>> >>> Of course, I would missing some use cases that need this information in the >>> tracepoint. Furthermore, adding just one more value in the tracepoint wouldn't >>> incur a real issue. But, I'd like to know why this is necessary and how much >>> benefit it provides. Xin, could you please share that? >> I think these two variables nr_access & age have different meanings, >> the nr_access only reflect the >> >> period of sample_interval, We may be able to get the change of age >> through continuous long-term sampling, >> >> But I think this is not very convenient. >> >> We only need to observe the change of age value a small number of times >> to replace the continue sampling of the region. >> >> For example, age has been increasing to 141, but nr_access shows a value >> of 0 at a certain time. Through this,we can >> >> conclude that the region has a very low nr_access value for a long time. > I understand that you don't want to record all the traces and then process the > huge trace data in user space in order to get the age information, because you > want to save disk space and CPU cycles. Is that correct? If so, I think that > makes sense, and it would be better to put that in the commit message. Yes, What you said is absolutely correct, that's how I thought about it, I will add this part of the information to the commit,thanks! > > > Thanks, > SJ > > [...] -- Best Regards! Xin Hao ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V1 0/2] mm/damon: Do some small changes @ 2021-11-10 12:13 Xin Hao 2021-11-10 12:13 ` [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support Xin Hao 0 siblings, 1 reply; 4+ messages in thread From: Xin Hao @ 2021-11-10 12:13 UTC (permalink / raw) To: sjpark; +Cc: xhao, akpm, linux-mm, linux-kernel These two patches are mainly to do some small changes. Xin Hao (2): mm/damon: Unified access_check function naming rules mm/damon: Add 'age' of region tracepoint support include/trace/events/damon.h | 7 +++++-- mm/damon/vaddr.c | 8 ++++---- 2 files changed, 9 insertions(+), 6 deletions(-) -- 2.31.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support 2021-11-10 12:13 [PATCH V1 0/2] mm/damon: Do some small changes Xin Hao @ 2021-11-10 12:13 ` Xin Hao 2021-11-10 13:16 ` SeongJae Park 0 siblings, 1 reply; 4+ messages in thread From: Xin Hao @ 2021-11-10 12:13 UTC (permalink / raw) To: sjpark; +Cc: xhao, akpm, linux-mm, linux-kernel In patch "mm/damon: add a tracepoint", it adds a tracepoint for DAMON, it can monitor each region for each aggregation interval, Now the region add a new 'age' variable, some primitive would calculate the priority of each region as a weight, there put it into tracepoint, so we can easily track the change of its value through perf or damon-tools. Signed-off-by: Xin Hao <xhao@linux.alibaba.com> --- include/trace/events/damon.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/trace/events/damon.h b/include/trace/events/damon.h index 2f422f4f1fb9..99ffa601e351 100644 --- a/include/trace/events/damon.h +++ b/include/trace/events/damon.h @@ -22,6 +22,7 @@ TRACE_EVENT(damon_aggregated, __field(unsigned long, start) __field(unsigned long, end) __field(unsigned int, nr_accesses) + __field(unsigned int, age) ), TP_fast_assign( @@ -30,11 +31,13 @@ TRACE_EVENT(damon_aggregated, __entry->start = r->ar.start; __entry->end = r->ar.end; __entry->nr_accesses = r->nr_accesses; + __entry->age = r->age; ), - TP_printk("target_id=%lu nr_regions=%u %lu-%lu: %u", + TP_printk("target_id=%lu nr_regions=%u %lu-%lu: %u %u", __entry->target_id, __entry->nr_regions, - __entry->start, __entry->end, __entry->nr_accesses) + __entry->start, __entry->end, + __entry->nr_accesses, __entry->age) ); #endif /* _TRACE_DAMON_H */ -- 2.31.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support 2021-11-10 12:13 ` [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support Xin Hao @ 2021-11-10 13:16 ` SeongJae Park 0 siblings, 0 replies; 4+ messages in thread From: SeongJae Park @ 2021-11-10 13:16 UTC (permalink / raw) To: Xin Hao; +Cc: sjpark, akpm, linux-mm, linux-kernel On Wed, 10 Nov 2021 20:13:14 +0800 Xin Hao <xhao@linux.alibaba.com> wrote: > In patch "mm/damon: add a tracepoint", it adds a > tracepoint for DAMON, it can monitor each region > for each aggregation interval, Now the region add > a new 'age' variable, some primitive would calculate > the priority of each region as a weight, there put it > into tracepoint, so we can easily track the change of > its value through perf or damon-tools. DAMON calculates the age using the address range and nr_accesses of the region, which are already in the tracepoint. In other words, user space can calculate the age on their own. Therefore I thought putting age in the tracepoint as adding unnecessary information, at the moment of the implementation. Of course, I would missing some use cases that need this information in the tracepoint. Furthermore, adding just one more value in the tracepoint wouldn't incur a real issue. But, I'd like to know why this is necessary and how much benefit it provides. Xin, could you please share that? Thanks, SJ > > Signed-off-by: Xin Hao <xhao@linux.alibaba.com> > --- > include/trace/events/damon.h | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/include/trace/events/damon.h b/include/trace/events/damon.h > index 2f422f4f1fb9..99ffa601e351 100644 > --- a/include/trace/events/damon.h > +++ b/include/trace/events/damon.h > @@ -22,6 +22,7 @@ TRACE_EVENT(damon_aggregated, > __field(unsigned long, start) > __field(unsigned long, end) > __field(unsigned int, nr_accesses) > + __field(unsigned int, age) > ), > > TP_fast_assign( > @@ -30,11 +31,13 @@ TRACE_EVENT(damon_aggregated, > __entry->start = r->ar.start; > __entry->end = r->ar.end; > __entry->nr_accesses = r->nr_accesses; > + __entry->age = r->age; > ), > > - TP_printk("target_id=%lu nr_regions=%u %lu-%lu: %u", > + TP_printk("target_id=%lu nr_regions=%u %lu-%lu: %u %u", > __entry->target_id, __entry->nr_regions, > - __entry->start, __entry->end, __entry->nr_accesses) > + __entry->start, __entry->end, > + __entry->nr_accesses, __entry->age) > ); > > #endif /* _TRACE_DAMON_H */ > -- > 2.31.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-11-11 8:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <d7edb182-7d49-712e-2d21-7b9f7ae2e4f1@linux.alibaba.com>
2021-11-11 8:20 ` [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support SeongJae Park
2021-11-11 8:29 ` Xin Hao
2021-11-10 12:13 [PATCH V1 0/2] mm/damon: Do some small changes Xin Hao
2021-11-10 12:13 ` [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support Xin Hao
2021-11-10 13:16 ` SeongJae Park
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox