Commit 99ce7c9c authored by SeongJae Park's avatar SeongJae Park Committed by Andrew Morton
Browse files

mm/damon: remove damon_callback->before_damos_apply

The hook was introduced to let DAMON kernel API users access DAMOS
schemes-eligible regions in a safe way.  Now it is no more used by anyone,
and the functionality is provided in a better way by damos_walk().  Remove
it.

Link: https://lkml.kernel.org/r/20250306175908.66300-13-sj@kernel.org


Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent cedee98f
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -605,7 +605,6 @@ struct damon_operations {
 *
 * @after_wmarks_check:	Called after each schemes' watermarks check.
 * @after_aggregation:	Called after each aggregation.
 * @before_damos_apply:	Called before applying DAMOS action.
 * @before_terminate:	Called before terminating the monitoring.
 *
 * The monitoring thread (&damon_ctx.kdamond) calls @before_terminate just
@@ -626,10 +625,6 @@ struct damon_operations {
struct damon_callback {
	int (*after_wmarks_check)(struct damon_ctx *context);
	int (*after_aggregation)(struct damon_ctx *context);
	int (*before_damos_apply)(struct damon_ctx *context,
			struct damon_target *target,
			struct damon_region *region,
			struct damos *scheme);
	void (*before_terminate)(struct damon_ctx *context);
};

+4 −9
Original line number Diff line number Diff line
@@ -1731,7 +1731,6 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
	struct timespec64 begin, end;
	unsigned long sz_applied = 0;
	unsigned long sz_ops_filter_passed = 0;
	int err = 0;
	/*
	 * We plan to support multiple context per kdamond, as DAMON sysfs
	 * implies with 'nr_contexts' file.  Nevertheless, only single context
@@ -1771,14 +1770,10 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
		if (damos_filter_out(c, t, r, s))
			return;
		ktime_get_coarse_ts64(&begin);
		if (c->callback.before_damos_apply)
			err = c->callback.before_damos_apply(c, t, r, s);
		if (!err) {
		trace_damos_before_apply(cidx, sidx, tidx, r,
				damon_nr_regions(t), do_trace);
		sz_applied = c->ops.apply_scheme(c, t, r, s,
				&sz_ops_filter_passed);
		}
		damos_walk_call_walk(c, t, r, s, sz_ops_filter_passed);
		ktime_get_coarse_ts64(&end);
		quota->total_charged_ns += timespec64_to_ns(&end) -