From: Xin Hao <xhao@linux.alibaba.com>
To: SeongJae Park <sj@kernel.org>
Cc: sjpark@amazon.de, akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH V1 2/2] mm/damon: Add 'age' of region tracepoint support
Date: Thu, 11 Nov 2021 10:04:38 +0800 [thread overview]
Message-ID: <d7edb182-7d49-712e-2d21-7b9f7ae2e4f1@linux.alibaba.com> (raw)
In-Reply-To: <20211110131621.18221-1-sj@kernel.org>
[-- 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.
This datas that i used perf tool to record & script
* kdamond.0 8282 [007] 664.187237: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 305254400-597266432: 0 140**
** kdamond.0 8282 [007] 664.187237: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 597266432-900239360: 0 140**
** kdamond.0 8282 [007] 664.187237: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 900239360-980148224: 0 140*
kdamond.0 8282 [007] 664.187238: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281471544459264-281471789129728: 0 1
kdamond.0 8282 [007] 664.187238: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281471789129728-281472066732032: 0 0
kdamond.0 8282 [007] 664.187238: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472066732032-281472281972736: 0 1
kdamond.0 8282 [007] 664.187239: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472281972736-281472346124288: 1 0
kdamond.0 8282 [007] 664.187239: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472346124288-281472379187200: 0 1
kdamond.0 8282 [007] 664.187239: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472379187200-281472678154240: 1 0
kdamond.0 8282 [007] 664.187239: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472678154240-281472951209984: 1 0
kdamond.0 8282 [007] 664.187240: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472951209984-281473069228032: 2 0
kdamond.0 8282 [007] 664.187240: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473069228032-281473299972096: 0 1
kdamond.0 8282 [007] 664.187241: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473299972096-281473603727360: 0 0
kdamond.0 8282 [007] 664.187241: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473603727360-281473611063296: 0 5
kdamond.0 8282 [007] 664.187242: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281474851557376-281474851692544: 0 140
* kdamond.0 8282 [007] 664.287642: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 4194304-305254400: 0 141*
* kdamond.0 8282 [007] 664.287643: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 305254400-597266432: 0 141*
* kdamond.0 8282 [007] 664.287643: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 597266432-900239360: 0 141*
* kdamond.0 8282 [007] 664.287650: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16 900239360-980148224: 0 141*
kdamond.0 8282 [007] 664.287650: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281471544459264-281471789129728: 0 2
kdamond.0 8282 [007] 664.287651: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281471789129728-281472066732032: 0 1
kdamond.0 8282 [007] 664.287651: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472066732032-281472349429760: 0 0
kdamond.0 8282 [007] 664.287651: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472349429760-281472588464128: 0 0
kdamond.0 8282 [007] 664.287652: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472588464128-281472678154240: 0 0
kdamond.0 8282 [007] 664.287652: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472678154240-281472951209984: 0 0
kdamond.0 8282 [007] 664.287652: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281472951209984-281473092300800: 1 0
kdamond.0 8282 [007] 664.287653: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473092300800-281473299972096: 0 2
kdamond.0 8282 [007] 664.287654: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473299972096-281473421471744: 0 1
kdamond.0 8282 [007] 664.287654: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473421471744-281473603727360: 2 0
kdamond.0 8282 [007] 664.287654: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281473603727360-281473611063296: 0 6
kdamond.0 8282 [007] 664.287655: damon:damon_aggregated:
target_id=18446462650354140800 nr_regions=16
281474851557376-281474851692544: 0 141
>
>
> 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
--
Best Regards!
Xin Hao
[-- Attachment #2: Type: text/html, Size: 9797 bytes --]
next prev parent reply other threads:[~2021-11-11 2:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-10 12:13 [PATCH V1 0/2] mm/damon: Do some small changes Xin Hao
2021-11-10 12:13 ` [PATCH V1 1/2] mm/damon: Unified access_check function naming rules Xin Hao
2021-11-10 12:59 ` SeongJae Park
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
2021-11-11 2:04 ` Xin Hao [this message]
2021-11-11 8:20 ` SeongJae Park
2021-11-11 8:29 ` Xin Hao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d7edb182-7d49-712e-2d21-7b9f7ae2e4f1@linux.alibaba.com \
--to=xhao@linux.alibaba.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=sj@kernel.org \
--cc=sjpark@amazon.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox