linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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

* 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

* [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

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;
as well as URLs for NNTP newsgroup(s).