linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter
@ 2025-02-11 12:43 Usama Arif
  2025-02-11 12:43 ` [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size Usama Arif
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Usama Arif @ 2025-02-11 12:43 UTC (permalink / raw)
  To: sj, akpm; +Cc: damon, linux-mm, hannes, david, kernel-team, Usama Arif

Patches 1-2 from v4 which are a requirement for this series
were sent separately by SJ and are merged in mm-unstable.

hugepage_size DAMOS filter can be used 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.

v4 -> v5: (SJ)
- Drop patches 1-2 which were merged.
- change filter name from 'hugepage' -> 'hugepage_size'.
- change struct name from damon_folio_size to damon_size_range.

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 (4):
  mm/damon: introduce DAMOS filter type hugepage_size
  mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range
  Docs/ABI/damon: document DAMOS sysfs files to set the min/max
    folio_size
  Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type

 .../ABI/testing/sysfs-kernel-mm-damon         | 14 +++++
 Documentation/admin-guide/mm/damon/usage.rst  | 17 +++---
 include/linux/damon.h                         | 13 +++++
 mm/damon/core.c                               |  3 +
 mm/damon/paddr.c                              |  6 ++
 mm/damon/sysfs-schemes.c                      | 55 +++++++++++++++++++
 6 files changed, 100 insertions(+), 8 deletions(-)

-- 
2.43.5



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

* [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size
  2025-02-11 12:43 [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter Usama Arif
@ 2025-02-11 12:43 ` Usama Arif
  2025-02-11 17:58   ` SeongJae Park
  2025-02-11 12:43 ` [PATCH v5 2/4] mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range Usama Arif
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Usama Arif @ 2025-02-11 12:43 UTC (permalink / raw)
  To: sj, akpm; +Cc: damon, linux-mm, hannes, david, kernel-team, Usama Arif

This is to gather statistics to check if memory regions of specific
access tempratures are backed by pages of a size in a specific
range.
This filter can help to observe and prove the effectivenes of
different schemes for shrinking/collapsing hugepages.

Signed-off-by: Usama Arif <usamaarif642@gmail.com>
---
 include/linux/damon.h    | 13 +++++++++++++
 mm/damon/core.c          |  3 +++
 mm/damon/paddr.c         |  6 ++++++
 mm/damon/sysfs-schemes.c |  1 +
 4 files changed, 23 insertions(+)

diff --git a/include/linux/damon.h b/include/linux/damon.h
index a390af84cf0f..0adfc2f4ca75 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -35,6 +35,16 @@ struct damon_addr_range {
 	unsigned long end;
 };
 
+/**
+ * struct damon_size_range - Represents size for filter to operate on [@min, @max].
+ * @min:	Min size (inclusive).
+ * @max:	Max size (inclusive).
+ */
+struct damon_size_range {
+	unsigned long min;
+	unsigned long max;
+};
+
 /**
  * struct damon_region - Represents a monitoring target region.
  * @ar:			The address range of the region.
@@ -326,6 +336,7 @@ struct damos_stat {
  * @DAMOS_FILTER_TYPE_ANON:	Anonymous pages.
  * @DAMOS_FILTER_TYPE_MEMCG:	Specific memcg's pages.
  * @DAMOS_FILTER_TYPE_YOUNG:	Recently accessed pages.
+ * @DAMOS_FILTER_TYPE_HUGEPAGE_SIZE:	Page is part of a hugepage.
  * @DAMOS_FILTER_TYPE_ADDR:	Address range.
  * @DAMOS_FILTER_TYPE_TARGET:	Data Access Monitoring target.
  * @NR_DAMOS_FILTER_TYPES:	Number of filter types.
@@ -345,6 +356,7 @@ enum damos_filter_type {
 	DAMOS_FILTER_TYPE_ANON,
 	DAMOS_FILTER_TYPE_MEMCG,
 	DAMOS_FILTER_TYPE_YOUNG,
+	DAMOS_FILTER_TYPE_HUGEPAGE_SIZE,
 	DAMOS_FILTER_TYPE_ADDR,
 	DAMOS_FILTER_TYPE_TARGET,
 	NR_DAMOS_FILTER_TYPES,
@@ -376,6 +388,7 @@ struct damos_filter {
 		unsigned short memcg_id;
 		struct damon_addr_range addr_range;
 		int target_idx;
+		struct damon_size_range sz_range;
 	};
 	struct list_head list;
 };
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 1a4dd644949b..81aafdd8644d 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -776,6 +776,9 @@ static void damos_commit_filter_arg(
 	case DAMOS_FILTER_TYPE_TARGET:
 		dst->target_idx = src->target_idx;
 		break;
+	case DAMOS_FILTER_TYPE_HUGEPAGE_SIZE:
+		dst->sz_range = src->sz_range;
+		break;
 	default:
 		break;
 	}
diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
index d64c6fe28667..e04f0b4a7df0 100644
--- a/mm/damon/paddr.c
+++ b/mm/damon/paddr.c
@@ -203,6 +203,7 @@ static bool damos_pa_filter_match(struct damos_filter *filter,
 {
 	bool matched = false;
 	struct mem_cgroup *memcg;
+	size_t folio_sz;
 
 	switch (filter->type) {
 	case DAMOS_FILTER_TYPE_ANON:
@@ -222,6 +223,11 @@ static bool damos_pa_filter_match(struct damos_filter *filter,
 		if (matched)
 			damon_folio_mkold(folio);
 		break;
+	case DAMOS_FILTER_TYPE_HUGEPAGE_SIZE:
+		folio_sz = folio_size(folio);
+		matched = filter->sz_range.min <= folio_sz &&
+			  folio_sz <= filter->sz_range.max;
+		break;
 	default:
 		break;
 	}
diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c
index 98f93ae9f59e..9020bc9befac 100644
--- a/mm/damon/sysfs-schemes.c
+++ b/mm/damon/sysfs-schemes.c
@@ -329,6 +329,7 @@ static const char * const damon_sysfs_scheme_filter_type_strs[] = {
 	"anon",
 	"memcg",
 	"young",
+	"hugepage_size",
 	"addr",
 	"target",
 };
-- 
2.43.5



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

* [PATCH v5 2/4] mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range
  2025-02-11 12:43 [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter Usama Arif
  2025-02-11 12:43 ` [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size Usama Arif
@ 2025-02-11 12:43 ` Usama Arif
  2025-02-11 17:59   ` SeongJae Park
  2025-02-11 12:43 ` [PATCH v5 3/4] Docs/ABI/damon: document DAMOS sysfs files to set the min/max folio_size Usama Arif
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Usama Arif @ 2025-02-11 12:43 UTC (permalink / raw)
  To: sj, akpm; +Cc: damon, linux-mm, hannes, david, kernel-team, Usama Arif

Add min and max files for damon filters to let the userspace decide
the min/max folio size to operate on. This will be needed to decide
what folio sizes to give pa_stat for.

Signed-off-by: Usama Arif <usamaarif642@gmail.com>
---
 mm/damon/sysfs-schemes.c | 54 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c
index 9020bc9befac..881d00bb3a34 100644
--- a/mm/damon/sysfs-schemes.c
+++ b/mm/damon/sysfs-schemes.c
@@ -316,6 +316,7 @@ struct damon_sysfs_scheme_filter {
 	bool allow;
 	char *memcg_path;
 	struct damon_addr_range addr_range;
+	struct damon_size_range sz_range;
 	int target_idx;
 };
 
@@ -474,6 +475,44 @@ static ssize_t addr_end_store(struct kobject *kobj,
 	return err ? err : count;
 }
 
+static ssize_t min_show(struct kobject *kobj,
+		struct kobj_attribute *attr, char *buf)
+{
+	struct damon_sysfs_scheme_filter *filter = container_of(kobj,
+			struct damon_sysfs_scheme_filter, kobj);
+
+	return sysfs_emit(buf, "%lu\n", filter->sz_range.min);
+}
+
+static ssize_t min_store(struct kobject *kobj,
+		struct kobj_attribute *attr, const char *buf, size_t count)
+{
+	struct damon_sysfs_scheme_filter *filter = container_of(kobj,
+			struct damon_sysfs_scheme_filter, kobj);
+	int err = kstrtoul(buf, 0, &filter->sz_range.min);
+
+	return err ? err : count;
+}
+
+static ssize_t max_show(struct kobject *kobj,
+		struct kobj_attribute *attr, char *buf)
+{
+	struct damon_sysfs_scheme_filter *filter = container_of(kobj,
+			struct damon_sysfs_scheme_filter, kobj);
+
+	return sysfs_emit(buf, "%lu\n", filter->sz_range.max);
+}
+
+static ssize_t max_store(struct kobject *kobj,
+		struct kobj_attribute *attr, const char *buf, size_t count)
+{
+	struct damon_sysfs_scheme_filter *filter = container_of(kobj,
+			struct damon_sysfs_scheme_filter, kobj);
+	int err = kstrtoul(buf, 0, &filter->sz_range.max);
+
+	return err ? err : count;
+}
+
 static ssize_t damon_target_idx_show(struct kobject *kobj,
 		struct kobj_attribute *attr, char *buf)
 {
@@ -520,6 +559,12 @@ static struct kobj_attribute damon_sysfs_scheme_filter_addr_start_attr =
 static struct kobj_attribute damon_sysfs_scheme_filter_addr_end_attr =
 		__ATTR_RW_MODE(addr_end, 0600);
 
+static struct kobj_attribute damon_sysfs_scheme_filter_min_attr =
+		__ATTR_RW_MODE(min, 0600);
+
+static struct kobj_attribute damon_sysfs_scheme_filter_max_attr =
+		__ATTR_RW_MODE(max, 0600);
+
 static struct kobj_attribute damon_sysfs_scheme_filter_damon_target_idx_attr =
 		__ATTR_RW_MODE(damon_target_idx, 0600);
 
@@ -530,6 +575,8 @@ static struct attribute *damon_sysfs_scheme_filter_attrs[] = {
 	&damon_sysfs_scheme_filter_memcg_path_attr.attr,
 	&damon_sysfs_scheme_filter_addr_start_attr.attr,
 	&damon_sysfs_scheme_filter_addr_end_attr.attr,
+	&damon_sysfs_scheme_filter_min_attr.attr,
+	&damon_sysfs_scheme_filter_max_attr.attr,
 	&damon_sysfs_scheme_filter_damon_target_idx_attr.attr,
 	NULL,
 };
@@ -1954,6 +2001,13 @@ static int damon_sysfs_add_scheme_filters(struct damos *scheme,
 			filter->addr_range = sysfs_filter->addr_range;
 		} else if (filter->type == DAMOS_FILTER_TYPE_TARGET) {
 			filter->target_idx = sysfs_filter->target_idx;
+		} else if (filter->type == DAMOS_FILTER_TYPE_HUGEPAGE_SIZE) {
+			if (sysfs_filter->sz_range.min >
+					sysfs_filter->sz_range.max) {
+				damos_destroy_filter(filter);
+				return -EINVAL;
+			}
+			filter->sz_range = sysfs_filter->sz_range;
 		}
 
 		damos_add_filter(scheme, filter);
-- 
2.43.5



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

* [PATCH v5 3/4] Docs/ABI/damon: document DAMOS sysfs files to set the min/max folio_size
  2025-02-11 12:43 [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter Usama Arif
  2025-02-11 12:43 ` [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size Usama Arif
  2025-02-11 12:43 ` [PATCH v5 2/4] mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range Usama Arif
@ 2025-02-11 12:43 ` Usama Arif
  2025-02-11 12:43 ` [PATCH v5 4/4] Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type Usama Arif
  2025-02-11 18:06 ` [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter SeongJae Park
  4 siblings, 0 replies; 9+ messages in thread
From: Usama Arif @ 2025-02-11 12:43 UTC (permalink / raw)
  To: sj, akpm; +Cc: damon, linux-mm, hannes, david, kernel-team, Usama Arif

This will be used to decide the min and max folio size to operate on
for pa_stat.

Signed-off-by: Usama Arif <usamaarif642@gmail.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
---
 Documentation/ABI/testing/sysfs-kernel-mm-damon | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon
index b057eddefbfc..ccd13ca668c8 100644
--- a/Documentation/ABI/testing/sysfs-kernel-mm-damon
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon
@@ -345,6 +345,20 @@ Description:	If 'addr' is written to the 'type' file, writing to or reading
 		from this file sets or gets the end address of the address
 		range for the filter.
 
+What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
+Date:		Feb 2025
+Contact:	SeongJae Park <sj@kernel.org>
+Description:	If 'hugepage_size' is written to the 'type' file, writing to
+		or reading from this file sets or gets the minimum size of the
+		hugepage for the filter.
+
+What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
+Date:		Feb 2025
+Contact:	SeongJae Park <sj@kernel.org>
+Description:	If 'hugepage_size' is written to the 'type' file, writing to
+		or reading from this file sets or gets the maximum size of the
+		hugepage for the filter.
+
 What:		/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
 Date:		Dec 2022
 Contact:	SeongJae Park <sj@kernel.org>
-- 
2.43.5



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

* [PATCH v5 4/4] Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type
  2025-02-11 12:43 [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter Usama Arif
                   ` (2 preceding siblings ...)
  2025-02-11 12:43 ` [PATCH v5 3/4] Docs/ABI/damon: document DAMOS sysfs files to set the min/max folio_size Usama Arif
@ 2025-02-11 12:43 ` Usama Arif
  2025-02-11 18:00   ` SeongJae Park
  2025-02-11 18:06 ` [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter SeongJae Park
  4 siblings, 1 reply; 9+ messages in thread
From: Usama Arif @ 2025-02-11 12:43 UTC (permalink / raw)
  To: sj, akpm; +Cc: damon, linux-mm, hannes, david, kernel-team, Usama Arif

This includes both the 'hugepage_size' filter type and the min/max
files used to decide range of sizes to filter on.

Signed-off-by: Usama Arif <usamaarif642@gmail.com>
---
 Documentation/admin-guide/mm/damon/usage.rst | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index 47a44bd348ab..51af66c208c5 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -83,7 +83,7 @@ comma (",").
     │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value
     │ │ │ │ │ │ │ :ref:`watermarks <sysfs_watermarks>`/metric,interval_us,high,mid,low
     │ │ │ │ │ │ │ :ref:`filters <sysfs_filters>`/nr_filters
-    │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx
+    │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max
     │ │ │ │ │ │ │ :ref:`stats <sysfs_schemes_stats>`/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds
     │ │ │ │ │ │ │ :ref:`tried_regions <sysfs_schemes_tried_regions>`/total_bytes
     │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed
@@ -406,13 +406,14 @@ number (``N``) to the file creates the number of child directories named ``0``
 to ``N-1``.  Each directory represents each filter.  The filters are evaluated
 in the numeric order.
 
-Each filter directory contains seven files, namely ``type``, ``matching``,
-``allow``, ``memcg_path``, ``addr_start``, ``addr_end``, and ``target_idx``.
-To ``type`` file, you can write one of five special keywords: ``anon`` for
-anonymous pages, ``memcg`` for specific memory cgroup, ``young`` for young
-pages, ``addr`` for specific address range (an open-ended interval), or
-``target`` for specific DAMON monitoring target filtering.  Meaning of the
-types are same to the description on the :ref:`design doc
+Each filter directory contains nine files, namely ``type``, ``matching``,
+``allow``, ``memcg_path``, ``addr_start``, ``addr_end``, ``min``, ``max``
+and ``target_idx``.  To ``type`` file, you can write one of six special
+keywords: ``anon`` for anonymous pages, ``memcg`` for specific memory cgroup,
+``young`` for young pages, ``addr`` for specific address range (an open-ended
+interval), ``hugepage_size`` for large folios of a specific size range [``min``,
+``max``] or ``target`` for specific DAMON monitoring target filtering.  Meaning
+of the types are same to the description on the :ref:`design doc
 <damon_design_damos_filters>`.
 
 In case of the memory cgroup filtering, you can specify the memory cgroup of
-- 
2.43.5



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

* Re: [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size
  2025-02-11 12:43 ` [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size Usama Arif
@ 2025-02-11 17:58   ` SeongJae Park
  0 siblings, 0 replies; 9+ messages in thread
From: SeongJae Park @ 2025-02-11 17:58 UTC (permalink / raw)
  To: Usama Arif
  Cc: SeongJae Park, akpm, damon, linux-mm, hannes, david, kernel-team

On Tue, 11 Feb 2025 12:43:40 +0000 Usama Arif <usamaarif642@gmail.com> wrote:

> This is to gather statistics to check if memory regions of specific
> access tempratures are backed by pages of a size in a specific
> range.
> This filter can help to observe and prove the effectivenes of
> different schemes for shrinking/collapsing hugepages.
> 
> Signed-off-by: Usama Arif <usamaarif642@gmail.com>

Reviewed-by: SeongJae Park <sj@kernel.org>


Thanks,
SJ

[...]


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

* Re: [PATCH v5 2/4] mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range
  2025-02-11 12:43 ` [PATCH v5 2/4] mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range Usama Arif
@ 2025-02-11 17:59   ` SeongJae Park
  0 siblings, 0 replies; 9+ messages in thread
From: SeongJae Park @ 2025-02-11 17:59 UTC (permalink / raw)
  To: Usama Arif
  Cc: SeongJae Park, akpm, damon, linux-mm, hannes, david, kernel-team

On Tue, 11 Feb 2025 12:43:41 +0000 Usama Arif <usamaarif642@gmail.com> wrote:

> Add min and max files for damon filters to let the userspace decide
> the min/max folio size to operate on. This will be needed to decide
> what folio sizes to give pa_stat for.
> 
> Signed-off-by: Usama Arif <usamaarif642@gmail.com>

Reviewed-by: SeongJae Park <sj@kernel.org>


Thanks,
SJ

[...]


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

* Re: [PATCH v5 4/4] Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type
  2025-02-11 12:43 ` [PATCH v5 4/4] Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type Usama Arif
@ 2025-02-11 18:00   ` SeongJae Park
  0 siblings, 0 replies; 9+ messages in thread
From: SeongJae Park @ 2025-02-11 18:00 UTC (permalink / raw)
  To: Usama Arif
  Cc: SeongJae Park, akpm, damon, linux-mm, hannes, david, kernel-team

On Tue, 11 Feb 2025 12:43:43 +0000 Usama Arif <usamaarif642@gmail.com> wrote:

> This includes both the 'hugepage_size' filter type and the min/max
> files used to decide range of sizes to filter on.
> 
> Signed-off-by: Usama Arif <usamaarif642@gmail.com>

Reviewed-by: SeongJae Park <sj@kernel.org>


Thanks,
SJ

[...]


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

* Re: [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter
  2025-02-11 12:43 [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter Usama Arif
                   ` (3 preceding siblings ...)
  2025-02-11 12:43 ` [PATCH v5 4/4] Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type Usama Arif
@ 2025-02-11 18:06 ` SeongJae Park
  4 siblings, 0 replies; 9+ messages in thread
From: SeongJae Park @ 2025-02-11 18:06 UTC (permalink / raw)
  To: Usama Arif
  Cc: SeongJae Park, akpm, damon, linux-mm, hannes, david, kernel-team

Hi Usama,

On Tue, 11 Feb 2025 12:43:39 +0000 Usama Arif <usamaarif642@gmail.com> wrote:

> Patches 1-2 from v4 which are a requirement for this series
> were sent separately by SJ and are merged in mm-unstable.
> 
> hugepage_size DAMOS filter can be used 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.
> 
> v4 -> v5: (SJ)
> - Drop patches 1-2 which were merged.
> - change filter name from 'hugepage' -> 'hugepage_size'.
> - change struct name from damon_folio_size to damon_size_range.

Thank you again for continuing this great work.  All patches of this series
look good to me, so I added my Reviewed-by: tags to the whole.

Also Cc-ing Andrew, since I think this patch series may better to be queued on
mm-unstable for wider testing.


Thanks,
SJ

[...]


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

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

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-11 12:43 [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter Usama Arif
2025-02-11 12:43 ` [PATCH v5 1/4] mm/damon: introduce DAMOS filter type hugepage_size Usama Arif
2025-02-11 17:58   ` SeongJae Park
2025-02-11 12:43 ` [PATCH v5 2/4] mm/damon/sysfs-schemes: add files for setting damos_filter->sz_range Usama Arif
2025-02-11 17:59   ` SeongJae Park
2025-02-11 12:43 ` [PATCH v5 3/4] Docs/ABI/damon: document DAMOS sysfs files to set the min/max folio_size Usama Arif
2025-02-11 12:43 ` [PATCH v5 4/4] Docs/admin-guide/mm/damon/usage: Document hugepage_size filter type Usama Arif
2025-02-11 18:00   ` SeongJae Park
2025-02-11 18:06 ` [PATCH v5 0/4] mm/damon: add support for hugepage_size DAMOS filter SeongJae Park

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