Lines Matching defs:damon_ctx

259  *		&damon_ctx->adaptive_targets if @type is
316 * If all schemes that registered to a &struct damon_ctx are inactive, DAMON
353 struct damon_ctx;
371 * space and usecase via the &damon_ctx.ops. Then, the monitoring thread
372 * (&damon_ctx.kdamond) calls @init and @prepare_access_checks before starting
382 * those to @damon_ctx.adaptive_targets.
405 void (*init)(struct damon_ctx *context);
406 void (*update)(struct damon_ctx *context);
407 void (*prepare_access_checks)(struct damon_ctx *context);
408 unsigned int (*check_accesses)(struct damon_ctx *context);
409 void (*reset_aggregated)(struct damon_ctx *context);
410 int (*get_scheme_score)(struct damon_ctx *context,
413 unsigned long (*apply_scheme)(struct damon_ctx *context,
417 void (*cleanup)(struct damon_ctx *context);
431 * The monitoring thread (&damon_ctx.kdamond) calls @before_start and
452 int (*before_start)(struct damon_ctx *context);
453 int (*after_wmarks_check)(struct damon_ctx *context);
454 int (*after_sampling)(struct damon_ctx *context);
455 int (*after_aggregation)(struct damon_ctx *context);
456 int (*before_damos_apply)(struct damon_ctx *context,
460 void (*before_terminate)(struct damon_ctx *context);
492 * struct damon_ctx - Represents a context for each monitoring. This is the
521 struct damon_ctx {
632 void damon_add_scheme(struct damon_ctx *ctx, struct damos *s);
636 void damon_add_target(struct damon_ctx *ctx, struct damon_target *t);
637 bool damon_targets_empty(struct damon_ctx *ctx);
642 struct damon_ctx *damon_new_ctx(void);
643 void damon_destroy_ctx(struct damon_ctx *ctx);
644 int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs);
645 void damon_set_schemes(struct damon_ctx *ctx,
650 int damon_select_ops(struct damon_ctx *ctx, enum damon_ops_id id);
652 static inline bool damon_target_has_pid(const struct damon_ctx *ctx)
665 int damon_start(struct damon_ctx **ctxs, int nr_ctxs, bool exclusive);
666 int damon_stop(struct damon_ctx **ctxs, int nr_ctxs);