summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorSJ Park <sj@kernel.org>2026-09-11 06:55:07 -0700
committerAndrew Morton <akpm@linux-foundation.org>2026-09-13 21:32:48 -0700
commit4e840f3a63b938d353a28ab8cdf0af0878ef18f8 (patch)
tree066c04cc636fcfc5619e15a5d49a18db2187ce21 /mm
parent93172e634a8517debaa630eda235f493a6413190 (diff)
downloadlinux-next-4e840f3a63b938d353a28ab8cdf0af0878ef18f8.tar.gz
linux-next-4e840f3a63b938d353a28ab8cdf0af0878ef18f8.zip
mm/damon/sysfs-schemes: support probe_hits_wsum damos core filter
Extend DAMON sysfs interface to support probe_hits_wsum input. Also update sysfs input based scheme build logic to setup the min/max probe hits weighted sum range as user provided. Link: https://lore.kernel.org/20260911135510.96914-6-sj@kernel.org Signed-off-by: SJ Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: David Hildenbrand <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam R. Howlett <liam@infradead.org> Cc: Lorenzo Stoakes <ljs@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@kernel.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/damon/sysfs-schemes.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c
index 4d9147d2a269..3de4d804e049 100644
--- a/mm/damon/sysfs-schemes.c
+++ b/mm/damon/sysfs-schemes.c
@@ -589,7 +589,10 @@ damos_sysfs_filter_type_names[] = {
.type = DAMOS_FILTER_TYPE_TARGET,
.name = "target",
},
-
+ {
+ .type = DAMOS_FILTER_TYPE_PROBE_HITS_WSUM,
+ .name = "probe_hits_wsum",
+ },
};
static ssize_t type_show(struct kobject *kobj,
@@ -2844,6 +2847,13 @@ static int damon_sysfs_add_scheme_filters(struct damos *scheme,
}
filter->sz_range.min = sysfs_filter->range_min;
filter->sz_range.max = sysfs_filter->range_max;
+ } else if (filter->type == DAMOS_FILTER_TYPE_PROBE_HITS_WSUM) {
+ filter->range_min = sysfs_filter->range_min;
+ filter->range_max = sysfs_filter->range_max;
+ if (filter->range_min > filter->range_max) {
+ damos_destroy_filter(filter);
+ return -EINVAL;
+ }
}
damos_add_filter(scheme, filter);