From: SeongJae Park <sj38.park@gmail.com>
To: sieberf@amazon.com
Cc: sj38.park@gmail.com, Jonathan.Cameron@Huawei.com,
acme@kernel.org, akpm@linux-foundation.org,
alexander.shishkin@linux.intel.com, amit@kernel.org,
benh@kernel.crashing.org, brendanhiggins@google.com,
corbet@lwn.net, david@redhat.com, dwmw@amazon.com,
elver@google.com, fan.du@intel.com, foersleo@amazon.de,
greg@kroah.com, gthelen@google.com, guoju.fgj@alibaba-inc.com,
linux-damon@amazon.com, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
mgorman@suse.de, minchan@kernel.org, mingo@redhat.com,
namhyung@kernel.org, peterz@infradead.org, riel@surriel.com,
rientjes@google.com, rostedt@goodmis.org, rppt@kernel.org,
shakeelb@google.com, shuah@kernel.org, sjpark@amazon.de,
snu@amazon.de, vbabka@suse.cz, vdavydov.dev@gmail.com,
zgf574564920@gmail.com
Subject: Re: [PATCH v29 03/13] mm/damon: Adaptively adjust regions
Date: Tue, 25 May 2021 15:39:32 +0000 [thread overview]
Message-ID: <20210525153932.30853-1-sjpark@amazon.de> (raw)
In-Reply-To: <1b30265d-7440-1c94-f625-0087215433ee@amazon.com>
From: SeongJae Park <sjpark@amazon.de>
Hello Fernand,
Thank you for the questions!
On Tue, 25 May 2021 17:17:05 +0200 <sieberf@amazon.com> wrote:
> Hi SeongJae,
>
> The code looks good. Some questions for this patch:
>
> The region merge threshold is computed on the access diff. Should the
> diff threshold be exponential as diffs in low number of access are
> likely to be more important? I.e if the threshold is 5, a region A with
> 0 accesses will be merged with a region B with 4 accesses (diff=4), but
> a region C with 50 access won't be merged with a region D with 60
> accesses (diff=10), however it seems to me that keeping a good
> granularity between A and B is more important than between C and D for
> FPR. What do you think?
That totally makes sense if we have interest in only cold pages. However,
DAMON is for more general use cases. In some cases, people would have interest
in hot pages. Using exponential diff might make the regions merging more
aggressive, and result in smaller overhead. But, I think the amount of the
problem and benefit is unclear for now. I was unable to find the overhead
becomes problematically high in my tests with production systems. I think we
could add another option for this later, after we find it becomes a real
problem.
>
> When the number of regions is less than half max region, region split
> kicks in and doubles the number of region. This means that the number of
> region will grow close to max region, then slowly decay as region
> merges, until it reaches half max regions, then double again. This seems
> to create a non-uniform region number distribution over time, with large
> cycles. Also we do a lot of work when we double and no work otherwise.
> Not sure what's the impact on measurement quality but intuitively seems
> like keeping the number of regions constant over time would yield more
> consistent metrics? How about we rather always split regions at each
> iteration, and for each region we give a split probability?
Agreed, I think this makes sense. I also planning to make the probability
adaptively changes based on current monitoring result, in future.
Nevertheless, I want to keep the logic as simple as possible for now, unless we
see clear problem and benefit there.
Thanks,
SeongJae Park
>
> Kind regards,
>
> --Fernand
next prev parent reply other threads:[~2021-05-25 15:39 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-20 7:56 [PATCH v29 00/13] Introduce Data Access MONitor (DAMON) SeongJae Park
2021-05-20 7:56 ` [PATCH v29 01/13] mm: " SeongJae Park
2021-05-20 7:56 ` [PATCH v29 02/13] mm/damon/core: Implement region-based sampling SeongJae Park
2021-05-20 7:56 ` [PATCH v29 03/13] mm/damon: Adaptively adjust regions SeongJae Park
2021-05-25 15:17 ` sieberf
2021-05-25 15:39 ` SeongJae Park [this message]
2021-05-20 7:56 ` [PATCH v29 04/13] mm/idle_page_tracking: Make PG_idle reusable SeongJae Park
2021-05-20 7:56 ` [PATCH v29 05/13] mm/damon: Implement primitives for the virtual memory address spaces SeongJae Park
2021-05-25 15:19 ` sieberf
2021-05-25 15:44 ` SeongJae Park
2021-05-20 7:56 ` [PATCH v29 06/13] mm/damon: Add a tracepoint SeongJae Park
2021-05-20 7:56 ` [PATCH v29 07/13] mm/damon: Implement a debugfs-based user space interface SeongJae Park
2021-06-11 18:59 ` sieberf
2021-06-14 6:48 ` SeongJae Park
2021-05-20 7:56 ` [PATCH v29 08/13] mm/damon/dbgfs: Export kdamond pid to the user space SeongJae Park
2021-06-14 7:54 ` sieberf
2021-05-20 7:56 ` [PATCH v29 09/13] mm/damon/dbgfs: Support multiple contexts SeongJae Park
2021-06-14 9:30 ` sieberf
2021-06-14 9:35 ` SeongJae Park
2021-06-14 9:44 ` Greg KH
2021-05-20 7:56 ` [PATCH v29 10/13] Documentation: Add documents for DAMON SeongJae Park
2021-06-09 7:03 ` SeongJae Park
2021-06-11 17:44 ` Boehme, Markus
2021-06-11 18:53 ` SeongJae Park
2021-05-20 7:56 ` [PATCH v29 11/13] mm/damon: Add kunit tests SeongJae Park
2021-05-20 7:56 ` [PATCH v29 12/13] mm/damon: Add user space selftests SeongJae Park
2021-06-11 13:57 ` Maximilian Heyne
2021-06-11 14:04 ` SeongJae Park
2021-05-20 7:56 ` [PATCH v29 13/13] MAINTAINERS: Update for DAMON SeongJae Park
2021-05-20 22:34 ` [PATCH v29 00/13] Introduce Data Access MONitor (DAMON) Andrew Morton
2021-05-21 2:53 ` Shakeel Butt
2021-05-21 8:55 ` Shah, Amit
2021-06-14 8:09 ` sieberf
2021-06-15 16:30 ` sieberf
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=20210525153932.30853-1-sjpark@amazon.de \
--to=sj38.park@gmail.com \
--cc=Jonathan.Cameron@Huawei.com \
--cc=acme@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=amit@kernel.org \
--cc=benh@kernel.crashing.org \
--cc=brendanhiggins@google.com \
--cc=corbet@lwn.net \
--cc=david@redhat.com \
--cc=dwmw@amazon.com \
--cc=elver@google.com \
--cc=fan.du@intel.com \
--cc=foersleo@amazon.de \
--cc=greg@kroah.com \
--cc=gthelen@google.com \
--cc=guoju.fgj@alibaba-inc.com \
--cc=linux-damon@amazon.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=minchan@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=riel@surriel.com \
--cc=rientjes@google.com \
--cc=rostedt@goodmis.org \
--cc=rppt@kernel.org \
--cc=shakeelb@google.com \
--cc=shuah@kernel.org \
--cc=sieberf@amazon.com \
--cc=sjpark@amazon.de \
--cc=snu@amazon.de \
--cc=vbabka@suse.cz \
--cc=vdavydov.dev@gmail.com \
--cc=zgf574564920@gmail.com \
/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