mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
mm/damon/ops-common: support hugepage_size damon filter matching
Update ops-common data attribute filter matching logic to support hugepage_size filter type. Link: https://lore.kernel.org/20260915143359.91472-4-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: 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: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@kernel.org>
This commit is contained in:
parent
a76723d4b6
commit
71fb2abf32
|
|
@ -536,6 +536,7 @@ bool damon_ops_filter_match(struct damon_filter *filter, struct folio *folio)
|
|||
{
|
||||
bool matched = false;
|
||||
struct mem_cgroup *memcg;
|
||||
size_t folio_sz;
|
||||
|
||||
switch (filter->type) {
|
||||
case DAMON_FILTER_TYPE_ANON:
|
||||
|
|
@ -558,6 +559,15 @@ bool damon_ops_filter_match(struct damon_filter *filter, struct folio *folio)
|
|||
matched = filter->memcg_id == mem_cgroup_id(memcg);
|
||||
rcu_read_unlock();
|
||||
break;
|
||||
case DAMON_FILTER_TYPE_HUGEPAGE_SIZE:
|
||||
if (!folio) {
|
||||
matched = false;
|
||||
break;
|
||||
}
|
||||
folio_sz = folio_size(folio);
|
||||
matched = filter->range_min <= folio_sz &&
|
||||
folio_sz <= filter->range_max;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user