Skip to content

mm/damon: introduce probe_hits_wsum DAMOS core filter

SJ Park damon linux-doc linux-mm lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest posting 2/27 patches 4 repliesIn review 6 of 7 applied
  2. v2 RFC posting 1/27 patches 1 replySuperseded
  3. v1 RFC6 patches 3 repliesSuperseded

Changes in v2 from the cover letter

- v1: https://lore.kernel.org/[email protected]
- Validate {min,max}_range sysfs input on local variables.
- Add RFC tag again.
Changes from RFC v2.1
- RFC v2.1: https://lore.kernel.org/[email protected]
- Update kernel-doc to clarify probe_hits_wsum is a damos core filter.
- Drop RFC tag.

Patches in v2 posting 2/2 6 of 7 applied

#Subject and filesSizeRepliesApplied
1/7mm/damon/api: introduce DAMOS_FILTER_TYPE_PROBE_HITS_WSUMinclude/linux/damon.h+14 -62 replies
2/7mm/damon/core: extend probe_hits_wsum() for moving sum based calculationinclude/linux/damon.h mm/damon/core.c mm/damon/paddr.c +1 more+9 -50 repliesApplied
3/7mm/damon/core: support probe_hits_wsum damos core filtermm/damon/core.c+11 -10 repliesApplied
4/7mm/damon/sysfs-schemes: rename sysfs_filter->sz_range to range_{min,max}mm/damon/sysfs-schemes.c+11 -80 repliesApplied
5/7mm/damon/sysfs-schemes: support probe_hits_wsum damos core filtermm/damon/sysfs-schemes.c+11 -10 repliesApplied
6/7Docs/mm/damon/design: update for probe_hits_wsum DAMOS core filterDocumentation/mm/damon/design.rst+3 -00 repliesApplied
7/7Docs/admin-guide/mm/damon/usage: update for probe_hits_wsum DAMOS filterDocumentation/admin-guide/mm/damon/usage.rst+4 -00 repliesApplied

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/7] mm/damon: introduce probe_hits_wsum DAMOS core filter

DAMON can do flexible data attributes monitoring. The classical data access monitoring can also be done using the attributes monitoring. The access event is just one of the data attributes that DAMON supports. Users do monitoring to make some actions based on it. DAMOS is a feature for automating that. However, DAMOS cannot utilize the data attributes monitoring results. It is still Data "Access" Monitoring-based Operation Schemes. It requires users to set the target "access" pattern.

DAMOS core filter is effectively the same as the target access pattern. It is just a more generalized and flexible way of describing the operation action target region. Introduce a new DAMOS core filter type, probe_hits_wsum. It specifies the filter target based on a range of the probe hits weighted sum. Using this, users can apply DAMOS actions to regions of specific data attributes pattern.

Note that the classic target access pattern still works. Hence the target nr_accesses range should still be properly configured. The new filter would be used in only data attributes-only mode. In the mode, classic access monitoring is just turned off, and therefore nr_accesses of regions are always zero. Users could simply set the target nr_accesses range to include the zero nr_Accesses regions.

Patches Sequence
================

Patch 1 updates the DAMON kernel API for the new filter type. Patch 2 extends damon_probe_hits_wsum() to do the calculation based on moving sum. Patch 3 implements the filter type in the core layer. Patch 4 refactors DAMON sysfs interface internal data structure for efficient reuse of data structure for the probe hits weighted sum range user inputs. Patch 5 updates DAMON sysfs interface to support the new filter type. Patches 6 and 7 update design and usage documents for the new filter type, respectively.

Changelog
=========

Changes from RFC v2.2
- RFC v2.2: https://lore.kernel.org/[email protected]
- Drop RFC tag again.
- Rebase to latest mm-new.
Changes from v1
- v1: https://lore.kernel.org/[email protected]
- Validate {min,max}_range sysfs input on local variables.
- Add RFC tag again.
Changes from RFC v2.1
- RFC v2.1: https://lore.kernel.org/[email protected]
- Update kernel-doc to clarify probe_hits_wsum is a damos core filter.
- Drop RFC tag.
Changes from RFC v2
- RFC v2: https://lore.kernel.org/[email protected]
- Rebase to latest mm-new.
Changes from RFC
- RFC: https://lore.kernel.org/[email protected]
- Fix kernel-doc typo.
- Use moving sum based weighted sum.
- Fix wrong range saving field names in sysfs.

SJ Park (7):
mm/damon/api: introduce DAMOS_FILTER_TYPE_PROBE_HITS_WSUM mm/damon/core: extend probe_hits_wsum() for moving sum based
calculation
mm/damon/core: support probe_hits_wsum damos core filter mm/damon/sysfs-schemes: rename sysfs_filter->sz_range to

    range_{min,max}

mm/damon/sysfs-schemes: support probe_hits_wsum damos core filter Docs/mm/damon/design: update for probe_hits_wsum DAMOS core filter Docs/admin-guide/mm/damon/usage: update for probe_hits_wsum DAMOS
filter

 Documentation/admin-guide/mm/damon/usage.rst |  4 +++
 Documentation/mm/damon/design.rst            |  3 ++
 include/linux/damon.h                        | 22 ++++++++++-----
 mm/damon/core.c                              | 20 ++++++++++++--
 mm/damon/paddr.c                             |  2 +-
 mm/damon/sysfs-schemes.c                     | 29 ++++++++++++++------
 mm/damon/vaddr.c                             |  2 +-
 7 files changed, 62 insertions(+), 20 deletions(-)

base-commit: e81bad1a9d225410ad05860d729169baadb2543a

Signature · 1 line
2.47.3