mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
mm/damon: rename damos core filter helpers to have word core
Patch series "mm/damon: misc cleanups". Yet another batch of misc cleanups and refactoring for DAMON code, tests, and documents. First two patches (1and 2) rename DAMOS core filters related code for readability. Three following patches (3-5) refactor page table walk callback functions in DAMON, as suggested by Hugh and David, and I promised. Next two patches (6 and 7) refactor DAMON core layer kunit test and sysfs interface selftest to be simple and deduplicated. Final two patches (8 and 9) fix up sphinx and grammatical errors on documents. This patch (of 9): DAMOS filters handled by the core layer are called core filters, while those handled by the ops layer are called ops filters. They share the same type but are managed in different places since core filters are evaluated before the ops filters. They also have different helper functions that depend on their managed places. The helper functions for ops filters have '_ops_' keyword on their name, so it is easy to know they are for ops filters. Meanwhile, the helper functions for core filters are not having the 'core' keyword on their name. This makes it easy to be mistakenly used for ops filters. Actually there was such a bug. To avoid future mistakes from similar confusions, rename DAMOS core filters helper functions to have a keyword 'core' on their names. Link: https://lkml.kernel.org/r/20251112154114.66053-1-sj@kernel.org Link: https://lkml.kernel.org/r/20251112154114.66053-2-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Bill Wendling <morbo@google.com> Cc: Brendan Higgins <brendan.higgins@linux.dev> Cc: David Gow <davidgow@google.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Justin Stitt <justinstitt@google.com> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Miguel Ojeda <ojeda@kernel.org> Cc: Mike Rapoport <rppt@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Shuah Khan <shuah@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: David Hildenbrand <david@kernel.org> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
1ec5d5810b
commit
8b02baf373
@@ -140,8 +140,8 @@ ForEachMacros:
|
||||
- 'damon_for_each_scheme_safe'
|
||||
- 'damon_for_each_target'
|
||||
- 'damon_for_each_target_safe'
|
||||
- 'damos_for_each_filter'
|
||||
- 'damos_for_each_filter_safe'
|
||||
- 'damos_for_each_core_filter'
|
||||
- 'damos_for_each_core_filter_safe'
|
||||
- 'damos_for_each_ops_filter'
|
||||
- 'damos_for_each_ops_filter_safe'
|
||||
- 'damos_for_each_quota_goal'
|
||||
|
||||
@@ -871,10 +871,10 @@ static inline unsigned long damon_sz_region(struct damon_region *r)
|
||||
#define damos_for_each_quota_goal_safe(goal, next, quota) \
|
||||
list_for_each_entry_safe(goal, next, &(quota)->goals, list)
|
||||
|
||||
#define damos_for_each_filter(f, scheme) \
|
||||
#define damos_for_each_core_filter(f, scheme) \
|
||||
list_for_each_entry(f, &(scheme)->filters, list)
|
||||
|
||||
#define damos_for_each_filter_safe(f, next, scheme) \
|
||||
#define damos_for_each_core_filter_safe(f, next, scheme) \
|
||||
list_for_each_entry_safe(f, next, &(scheme)->filters, list)
|
||||
|
||||
#define damos_for_each_ops_filter(f, scheme) \
|
||||
|
||||
@@ -450,7 +450,7 @@ void damon_destroy_scheme(struct damos *s)
|
||||
damos_for_each_quota_goal_safe(g, g_next, &s->quota)
|
||||
damos_destroy_quota_goal(g);
|
||||
|
||||
damos_for_each_filter_safe(f, next, s)
|
||||
damos_for_each_core_filter_safe(f, next, s)
|
||||
damos_destroy_filter(f);
|
||||
|
||||
damos_for_each_ops_filter_safe(f, next, s)
|
||||
@@ -864,12 +864,12 @@ static int damos_commit_quota(struct damos_quota *dst, struct damos_quota *src)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct damos_filter *damos_nth_filter(int n, struct damos *s)
|
||||
static struct damos_filter *damos_nth_core_filter(int n, struct damos *s)
|
||||
{
|
||||
struct damos_filter *filter;
|
||||
int i = 0;
|
||||
|
||||
damos_for_each_filter(filter, s) {
|
||||
damos_for_each_core_filter(filter, s) {
|
||||
if (i++ == n)
|
||||
return filter;
|
||||
}
|
||||
@@ -923,15 +923,15 @@ static int damos_commit_core_filters(struct damos *dst, struct damos *src)
|
||||
struct damos_filter *dst_filter, *next, *src_filter, *new_filter;
|
||||
int i = 0, j = 0;
|
||||
|
||||
damos_for_each_filter_safe(dst_filter, next, dst) {
|
||||
src_filter = damos_nth_filter(i++, src);
|
||||
damos_for_each_core_filter_safe(dst_filter, next, dst) {
|
||||
src_filter = damos_nth_core_filter(i++, src);
|
||||
if (src_filter)
|
||||
damos_commit_filter(dst_filter, src_filter);
|
||||
else
|
||||
damos_destroy_filter(dst_filter);
|
||||
}
|
||||
|
||||
damos_for_each_filter_safe(src_filter, next, src) {
|
||||
damos_for_each_core_filter_safe(src_filter, next, src) {
|
||||
if (j++ < i)
|
||||
continue;
|
||||
|
||||
@@ -1767,7 +1767,7 @@ static bool damos_filter_out(struct damon_ctx *ctx, struct damon_target *t,
|
||||
struct damos_filter *filter;
|
||||
|
||||
s->core_filters_allowed = false;
|
||||
damos_for_each_filter(filter, s) {
|
||||
damos_for_each_core_filter(filter, s) {
|
||||
if (damos_filter_match(ctx, t, r, filter, ctx->min_sz_region)) {
|
||||
if (filter->allow)
|
||||
s->core_filters_allowed = true;
|
||||
|
||||
Reference in New Issue
Block a user