linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] mm/damon: add support for hugepages
@ 2025-02-03 22:55 Usama Arif
  2025-02-03 22:55 ` [PATCH v4 1/6] mm/damon: have damon_get_folio return folio even for tail pages Usama Arif
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Usama Arif @ 2025-02-03 22:55 UTC (permalink / raw)
  To: sj, akpm; +Cc: damon, linux-mm, hannes, david, kernel-team, Usama Arif

This includes adding support for larger folios in damon for paddr,
which means largers folios will have their access checked and will
be considered for different DAMOS actions like pageout, prioritization
and migration.

Patches 3-6 add support for DAMOS hugepage filter type. This is to
gather statistics to check if memory regions of specific access
tempratures are backed by hugepages of a size in a specific
range. This filter can help to observe and prove the effectivenes of
different schemes for shrinking/collapsing hugepages.

I have kept patches 1-2 as part of these series as the later patches
are dependent on them.

The corresponding damo PR is at https://github.com/damonitor/damo/pull/20.

v3 -> v4:
- Add support for large folios of all sizes, and not just
  PMD mapped hugepages (David and SJ).
- only get folio while checking access/ applying DAMOS
  scheme if the head page is also part of that region.

v2 -> v3:
- expose hugepage via sysfs even if the kernel is
  built without hugepage support. DAMON will just
  just return 0. (SJ Park)

v1 -> v2:
- Wrap DAMOS_FILTER_TYPE_HUGEPAGE case with
  CONFIG_PGTABLE_HAS_HUGE_LEAVES (SJ Park)

Usama Arif (6):
  mm/damon: have damon_get_folio return folio even for tail pages
  mm/damon/paddr: use damon_get_folio_in_region to obtain folio
  mm/damon/sysfs-schemes: add files for setting damos_filter->folio_size
  mm/damon: introduce DAMOS filter type hugepage
  Docs/ABI/damon: document DAMOS sysfs files to set the min/max
    folio_size
  Docs/admin-guide/mm/damon/usage: Document hugepage filter type

 .../ABI/testing/sysfs-kernel-mm-damon         | 12 +++
 Documentation/admin-guide/mm/damon/usage.rst  | 17 +++--
 include/linux/damon.h                         | 13 ++++
 mm/damon/core.c                               |  3 +
 mm/damon/ops-common.c                         |  2 +-
 mm/damon/paddr.c                              | 75 +++++++++++++++----
 mm/damon/sysfs-schemes.c                      | 54 +++++++++++++
 7 files changed, 151 insertions(+), 25 deletions(-)

-- 
2.43.5



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-02-07 18:52 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-03 22:55 [PATCH v4 0/6] mm/damon: add support for hugepages Usama Arif
2025-02-03 22:55 ` [PATCH v4 1/6] mm/damon: have damon_get_folio return folio even for tail pages Usama Arif
2025-02-03 22:55 ` [PATCH v4 2/6] mm/damon/paddr: use damon_get_folio_in_region to obtain folio Usama Arif
2025-02-04 23:06   ` SeongJae Park
2025-02-05 12:46     ` Usama Arif
2025-02-05 21:40       ` SeongJae Park
2025-02-03 22:55 ` [PATCH v4 3/6] mm/damon/sysfs-schemes: add files for setting damos_filter->folio_size Usama Arif
2025-02-04 23:10   ` SeongJae Park
2025-02-05 13:57     ` Usama Arif
2025-02-05 21:44       ` SeongJae Park
2025-02-03 22:55 ` [PATCH v4 4/6] mm/damon: introduce DAMOS filter type hugepage Usama Arif
2025-02-04 23:12   ` SeongJae Park
2025-02-05 13:52     ` Usama Arif
2025-02-05 22:05       ` SeongJae Park
2025-02-07 18:22     ` Usama Arif
2025-02-07 18:52       ` SeongJae Park
2025-02-03 22:55 ` [PATCH v4 5/6] Docs/ABI/damon: document DAMOS sysfs files to set the min/max folio_size Usama Arif
2025-02-04 23:13   ` SeongJae Park
2025-02-03 22:55 ` [PATCH v4 6/6] Docs/admin-guide/mm/damon/usage: Document hugepage filter type Usama Arif
2025-02-04 23:13   ` SeongJae Park
2025-02-04 23:20 ` [PATCH v4 0/6] mm/damon: add support for hugepages SeongJae Park

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox