Thread (19 messages) 19 messages, 3 authors, 2020-06-18

Re: [PATCH v16 03/14] mm/damon: Implement region based sampling

From: Leonard Foerster <hidden>
Date: 2020-06-18 09:23:24
Also in: linux-mm, lkml

On 2020-06-15T18:19:16+02:00 SeongJae Park [off-list ref] wrote:
From: SeongJae Park <redacted>

This commit implements DAMON's target address space independent high
level logics for basic access check and region based sampling.  The
target address space specific logics for the monitoring target address
regions construction and the access check are required, though.  The
following commits will provide reference implementations of those for
the general virtual address spaces and the physical address space.
Users can implement and use their own versions for their specific use
cases, though.

Basic Access Check
------------------

DAMON basically reports what pages are how frequently accessed.  The
frequency is not an absolute number of accesses, but a ratio.

For this, DAMON first calls target monitoring construction callback
(``init_target_regions``), and then the access check callbacks, which is
assumed to check the access to each page and aggregates the number of
observed accesses of each page, for every ``sampling interval``.
Finally, DAMON resets the aggregated count per ``aggregation interval``.

This is thus similar to the common periodic access checks based
monitoring mechanisms but provides the access frequency.  The overhead
will increase as the size of the target process grows.

Region Based Sampling
---------------------

To avoid the unbounded increase of the overhead, DAMON groups a number
of adjacent pages that assumed to have same access frequencies into a
region.  As long as the assumption (pages in a region have same access
frequencies) is kept, only one page in the region is required to be
checked.  Therefore, the monitoring overhead is controllable by setting
the number of regions.

Nonetheless, this scheme cannot preserve the quality of the output if
the assumption is not kept.  Following commit will introduce how we can
make the guarantee with some sort of best effort.

Signed-off-by: SeongJae Park <redacted>
---
Reviewed-by: Leonard Foerster <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help