Re: [RFC PATCH v2 0/4] mm/damon: add a DAMOS filter type for page granularity access recheck

From: Honggyu Kim
Date: Tue Apr 09 2024 - 05:25:04 EST


Hi SeongJae,

On Mon, 11 Mar 2024 13:45:41 -0700 SeongJae Park <sj@xxxxxxxxxx> wrote:
> Changes from RFC v1
> (https://lore.kernel.org/r/20240307030013.47041-1-sj@xxxxxxxxxx)
> - Rename __damon_pa_young() to damon_folio_young_one()
> - Mark the folio as old from the filter for the next check
>
> DAMON allows users to specify desired ranges of overhead and accuracy of
> the monitoring, and do its best effort to make most lightweight and
> accurate results. A recent discussion for tiered memory management
> support from DAMON[1] revealed that the best effort accuracy may not
> suffice in some use cases, while increasing the minimum accuracy can
> incur too high overhead. The discussion further concluded finding
> memory regions of specific access pattern via DAMON first, and then
> double checking the access of the region again in finer granularity
> could help increasing the accuracy while keeping the low overhead.
>
> Add a new type of DAMOS filter, namely YOUNG for such a case. Like anon
> and memcg, the type of filter is applied to each page of the memory
> region of DAMOS target memory region, and check if the page is accessed
> since the last check. Because this is a filter type that applied in
> page granularity, the support depends on DAMON operations set. Because
> there are expected usages of this filter for physical address space
> based DAMOS usage[1], implement the support for only DAMON operations
> set for the physical address space, paddr.
>
> [1] https://lore.kernel.org/r/20240227235121.153277-1-sj@xxxxxxxxxx
>
>
> SeongJae Park (4):
> mm/damon/paddr: implement damon_folio_young()
> mm/damon/paddr: implement damon_folio_mkold()
> mm/damon: add DAMOS filter type YOUNG
> mm/damon/paddr: support DAMOS filter type YOUNG

I have tested your patches for evaluation of [1] and it all works fine.
Thanks very much for doing this work!

Tested-by: Honggyu Kim <honggyu.kim@xxxxxx>

[1] https://lore.kernel.org/damon/20240405060858.2818-1-honggyu.kim@xxxxxx

> include/linux/damon.h | 2 ++
> mm/damon/paddr.c | 64 +++++++++++++++++++++++++---------------
> mm/damon/sysfs-schemes.c | 1 +
> 3 files changed, 43 insertions(+), 24 deletions(-)
>
>
> base-commit: 13043cde46a19e72d37965b67b74e564623f65e7
> --
> 2.39.2
>