* [merged mm-stable] mm-damon-paddr-do-page-level-access-check-for-pageout-damos-action-on-its-own.patch removed from -mm tree
@ 2024-05-06 0:59 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2024-05-06 0:59 UTC (permalink / raw)
To: mm-commits, sj, akpm
The quilt patch titled
Subject: mm/damon/paddr: do page level access check for pageout DAMOS action on its own
has been removed from the -mm tree. Its filename was
mm-damon-paddr-do-page-level-access-check-for-pageout-damos-action-on-its-own.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: SeongJae Park <sj@kernel.org>
Subject: mm/damon/paddr: do page level access check for pageout DAMOS action on its own
Date: Mon, 29 Apr 2024 15:44:49 -0700
'pageout' DAMOS action implementation of 'paddr' DAMON operations set asks
reclaim_pages() to do page level access check if the user is not asking
DAMOS to do that on its own. Simplify the logic by making the check
always be done by 'paddr'.
Link: https://lkml.kernel.org/r/20240429224451.67081-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/damon/paddr.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
--- a/mm/damon/paddr.c~mm-damon-paddr-do-page-level-access-check-for-pageout-damos-action-on-its-own
+++ a/mm/damon/paddr.c
@@ -244,16 +244,22 @@ static unsigned long damon_pa_pageout(st
{
unsigned long addr, applied;
LIST_HEAD(folio_list);
- bool ignore_references = false;
+ bool install_young_filter = true;
struct damos_filter *filter;
- /* respect user's page level reference check handling request */
+ /* check access in page level again by default */
damos_for_each_filter(filter, s) {
if (filter->type == DAMOS_FILTER_TYPE_YOUNG) {
- ignore_references = true;
+ install_young_filter = false;
break;
}
}
+ if (install_young_filter) {
+ filter = damos_new_filter(DAMOS_FILTER_TYPE_YOUNG, true);
+ if (!filter)
+ return 0;
+ damos_add_filter(s, filter);
+ }
for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) {
struct folio *folio = damon_get_folio(PHYS_PFN(addr));
@@ -275,7 +281,9 @@ static unsigned long damon_pa_pageout(st
put_folio:
folio_put(folio);
}
- applied = reclaim_pages(&folio_list, ignore_references);
+ if (install_young_filter)
+ damos_destroy_filter(filter);
+ applied = reclaim_pages(&folio_list, true);
cond_resched();
return applied * PAGE_SIZE;
}
_
Patches currently in -mm which might be from sj@kernel.org are
selftests-damon-_damon_sysfs-support-quota-goals.patch
selftests-damon-add-a-test-for-damos-quota-goal.patch
mm-damon-core-initialize-esz_bp-from-damos_quota_init_priv.patch
selftests-damon-_damon_sysfs-check-errors-from-nr_schemes-file-reads.patch
selftests-damon-_damon_sysfs-find-sysfs-mount-point-from-proc-mounts.patch
selftests-damon-_damon_sysfs-use-is-instead-of-==-for-none.patch
selftests-damon-classify-tests-for-functionalities-and-regressions.patch
docs-admin-guide-mm-damon-usage-fix-wrong-example-of-damos-filter-matching-sysfs-file.patch
docs-admin-guide-mm-damon-usage-fix-wrong-schemes-effective-quota-update-command.patch
docs-mm-damon-design-use-a-list-for-supported-filters.patch
docs-mm-damon-maintainer-profile-change-the-maintainers-timezone-from-pst-to-pt.patch
docs-mm-damon-maintainer-profile-allow-posting-patches-based-on-damon-next-tree.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-05-06 0:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-06 0:59 [merged mm-stable] mm-damon-paddr-do-page-level-access-check-for-pageout-damos-action-on-its-own.patch removed from -mm tree Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.