Symbol: damon_ctx
include/linux/damon.h
434
struct damon_ctx;
include/linux/damon.h
448
void (*walk_fn)(void *data, struct damon_ctx *ctx,
include/linux/damon.h
645
void (*init)(struct damon_ctx *context);
include/linux/damon.h
646
void (*update)(struct damon_ctx *context);
include/linux/damon.h
647
void (*prepare_access_checks)(struct damon_ctx *context);
include/linux/damon.h
648
unsigned int (*check_accesses)(struct damon_ctx *context);
include/linux/damon.h
649
int (*get_scheme_score)(struct damon_ctx *context,
include/linux/damon.h
652
unsigned long (*apply_scheme)(struct damon_ctx *context,
include/linux/damon.h
938
void damon_add_scheme(struct damon_ctx *ctx, struct damos *s);
include/linux/damon.h
943
void damon_add_target(struct damon_ctx *ctx, struct damon_target *t);
include/linux/damon.h
944
bool damon_targets_empty(struct damon_ctx *ctx);
include/linux/damon.h
946
void damon_destroy_target(struct damon_target *t, struct damon_ctx *ctx);
include/linux/damon.h
949
struct damon_ctx *damon_new_ctx(void);
include/linux/damon.h
950
void damon_destroy_ctx(struct damon_ctx *ctx);
include/linux/damon.h
951
int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs);
include/linux/damon.h
952
void damon_set_schemes(struct damon_ctx *ctx,
include/linux/damon.h
954
int damon_commit_ctx(struct damon_ctx *old_ctx, struct damon_ctx *new_ctx);
include/linux/damon.h
958
int damon_select_ops(struct damon_ctx *ctx, enum damon_ops_id id);
include/linux/damon.h
960
static inline bool damon_target_has_pid(const struct damon_ctx *ctx)
include/linux/damon.h
974
int damon_start(struct damon_ctx **ctxs, int nr_ctxs, bool exclusive);
include/linux/damon.h
975
int damon_stop(struct damon_ctx **ctxs, int nr_ctxs);
include/linux/damon.h
976
bool damon_is_running(struct damon_ctx *ctx);
include/linux/damon.h
977
int damon_kdamond_pid(struct damon_ctx *ctx);
include/linux/damon.h
979
int damon_call(struct damon_ctx *ctx, struct damon_call_control *control);
include/linux/damon.h
980
int damos_walk(struct damon_ctx *ctx, struct damos_walk_control *control);
mm/damon/core.c
1050
static struct damos *damon_nth_scheme(int n, struct damon_ctx *ctx)
mm/damon/core.c
1089
static int damon_commit_schemes(struct damon_ctx *dst, struct damon_ctx *src)
mm/damon/core.c
1125
static struct damon_target *damon_nth_target(int n, struct damon_ctx *ctx)
mm/damon/core.c
1186
struct damon_ctx *dst, struct damon_ctx *src)
mm/damon/core.c
1251
int damon_commit_ctx(struct damon_ctx *dst, struct damon_ctx *src)
mm/damon/core.c
1300
static unsigned long damon_region_sz_limit(struct damon_ctx *ctx)
mm/damon/core.c
1329
static int __damon_start(struct damon_ctx *ctx)
mm/damon/core.c
1366
int damon_start(struct damon_ctx **ctxs, int nr_ctxs, bool exclusive)
mm/damon/core.c
1397
static int __damon_stop(struct damon_ctx *ctx)
mm/damon/core.c
1421
int damon_stop(struct damon_ctx **ctxs, int nr_ctxs)
mm/damon/core.c
1440
bool damon_is_running(struct damon_ctx *ctx)
mm/damon/core.c
1456
int damon_kdamond_pid(struct damon_ctx *ctx)
mm/damon/core.c
1480
struct damon_ctx *ctx, struct damon_call_control *control)
mm/damon/core.c
1515
int damon_call(struct damon_ctx *ctx, struct damon_call_control *control)
mm/damon/core.c
1556
int damos_walk(struct damon_ctx *ctx, struct damos_walk_control *control)
mm/damon/core.c
1596
static void kdamond_reset_aggregated(struct damon_ctx *c)
mm/damon/core.c
1614
static unsigned long damon_get_intervals_score(struct damon_ctx *c)
mm/damon/core.c
1637
static unsigned long damon_get_intervals_adaptation_bp(struct damon_ctx *c)
mm/damon/core.c
1653
static void kdamond_tune_intervals(struct damon_ctx *c)
mm/damon/core.c
1692
static bool damos_valid_target(struct damon_ctx *c, struct damon_target *t,
mm/damon/core.c
1778
static bool damos_filter_match(struct damon_ctx *ctx, struct damon_target *t,
mm/damon/core.c
1827
static bool damos_core_filter_out(struct damon_ctx *ctx, struct damon_target *t,
mm/damon/core.c
1854
static void damos_walk_call_walk(struct damon_ctx *ctx, struct damon_target *t,
mm/damon/core.c
1881
static void damos_walk_complete(struct damon_ctx *ctx, struct damos *s)
mm/damon/core.c
1913
static void damos_walk_cancel(struct damon_ctx *ctx)
mm/damon/core.c
1930
static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
mm/damon/core.c
1998
static void damon_do_apply_schemes(struct damon_ctx *c,
mm/damon/core.c
2265
static void damos_trace_esz(struct damon_ctx *c, struct damos *s,
mm/damon/core.c
2279
static void damos_adjust_quota(struct damon_ctx *c, struct damos *s)
mm/damon/core.c
2339
static void damos_trace_stat(struct damon_ctx *c, struct damos *s)
mm/damon/core.c
2355
static void kdamond_apply_schemes(struct damon_ctx *c)
mm/damon/core.c
2463
static void kdamond_merge_regions(struct damon_ctx *c, unsigned int threshold,
mm/damon/core.c
2547
static void kdamond_split_regions(struct damon_ctx *ctx)
mm/damon/core.c
2579
static bool kdamond_need_stop(struct damon_ctx *ctx)
mm/damon/core.c
2661
static void kdamond_call(struct damon_ctx *ctx, bool cancel)
mm/damon/core.c
2693
static int kdamond_wait_activation(struct damon_ctx *ctx)
mm/damon/core.c
2721
static void kdamond_init_ctx(struct damon_ctx *ctx)
mm/damon/core.c
2748
struct damon_ctx *ctx = data;
mm/damon/core.c
420
static void damos_set_next_apply_sis(struct damos *s, struct damon_ctx *ctx)
mm/damon/core.c
431
void damon_add_scheme(struct damon_ctx *ctx, struct damos *s)
mm/damon/core.c
489
void damon_add_target(struct damon_ctx *ctx, struct damon_target *t)
mm/damon/core.c
494
bool damon_targets_empty(struct damon_ctx *ctx)
mm/damon/core.c
513
void damon_destroy_target(struct damon_target *t, struct damon_ctx *ctx)
mm/damon/core.c
528
struct damon_ctx *damon_new_ctx(void)
mm/damon/core.c
530
struct damon_ctx *ctx;
mm/damon/core.c
564
static void damon_destroy_targets(struct damon_ctx *ctx)
mm/damon/core.c
572
void damon_destroy_ctx(struct damon_ctx *ctx)
mm/damon/core.c
667
static void damon_update_monitoring_results(struct damon_ctx *ctx,
mm/damon/core.c
717
int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs)
mm/damon/core.c
762
void damon_set_schemes(struct damon_ctx *ctx, struct damos **schemes,
mm/damon/core.c
96
int damon_select_ops(struct damon_ctx *ctx, enum damon_ops_id id)
mm/damon/lru_sort.c
195
static struct damon_ctx *ctx;
mm/damon/lru_sort.c
283
struct damon_ctx *param_ctx;
mm/damon/lru_sort.c
371
struct damon_ctx *c = arg;
mm/damon/modules-common.c
17
int damon_modules_new_paddr_ctx_target(struct damon_ctx **ctxp,
mm/damon/modules-common.c
20
struct damon_ctx *ctx;
mm/damon/modules-common.h
48
int damon_modules_new_paddr_ctx_target(struct damon_ctx **ctxp,
mm/damon/ops-common.c
106
int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
mm/damon/ops-common.c
147
int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
mm/damon/ops-common.h
17
int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
mm/damon/ops-common.h
19
int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
mm/damon/paddr.c
106
static unsigned int damon_pa_check_accesses(struct damon_ctx *ctx)
mm/damon/paddr.c
318
static unsigned long damon_pa_apply_scheme(struct damon_ctx *ctx,
mm/damon/paddr.c
345
static int damon_pa_scheme_score(struct damon_ctx *context,
mm/damon/paddr.c
59
static void damon_pa_prepare_access_checks(struct damon_ctx *ctx)
mm/damon/reclaim.c
160
static struct damon_ctx *ctx;
mm/damon/reclaim.c
193
struct damon_ctx *param_ctx;
mm/damon/reclaim.c
277
struct damon_ctx *c = arg;
mm/damon/stat.c
110
static void damon_stat_set_idletime_percentiles(struct damon_ctx *c)
mm/damon/stat.c
134
struct damon_ctx *c = data;
mm/damon/stat.c
196
static struct damon_ctx *damon_stat_build_ctx(void)
mm/damon/stat.c
198
struct damon_ctx *ctx;
mm/damon/stat.c
47
static struct damon_ctx *damon_stat_context;
mm/damon/stat.c
51
static void damon_stat_set_estimated_memory_bandwidth(struct damon_ctx *c)
mm/damon/stat.c
81
static int damon_stat_sort_regions(struct damon_ctx *c,
mm/damon/sysfs-common.h
41
int damon_sysfs_add_schemes(struct damon_ctx *ctx,
mm/damon/sysfs-common.h
46
struct damon_ctx *ctx);
mm/damon/sysfs-common.h
49
struct damon_ctx *ctx, struct damon_target *t,
mm/damon/sysfs-common.h
57
struct damon_ctx *ctx);
mm/damon/sysfs-common.h
61
struct damon_ctx *ctx);
mm/damon/sysfs-schemes.c
2620
struct damon_ctx *ctx)
mm/damon/sysfs-schemes.c
2656
struct damon_ctx *ctx)
mm/damon/sysfs-schemes.c
2766
int damon_sysfs_add_schemes(struct damon_ctx *ctx,
mm/damon/sysfs-schemes.c
2787
struct damon_ctx *ctx)
mm/damon/sysfs-schemes.c
2824
struct damon_ctx *ctx, struct damon_target *t,
mm/damon/sysfs.c
1217
struct damon_ctx *damon_ctx;
mm/damon/sysfs.c
1323
struct damon_ctx *ctx;
mm/damon/sysfs.c
1329
ctx = kdamond->damon_ctx;
mm/damon/sysfs.c
1340
static int damon_sysfs_set_attrs(struct damon_ctx *ctx,
mm/damon/sysfs.c
1396
struct damon_ctx *ctx)
mm/damon/sysfs.c
1414
static int damon_sysfs_add_targets(struct damon_ctx *ctx,
mm/damon/sysfs.c
1446
struct damon_ctx *ctx = kdamond->damon_ctx;
mm/damon/sysfs.c
1456
return kdamond->damon_ctx &&
mm/damon/sysfs.c
1457
damon_is_running(kdamond->damon_ctx);
mm/damon/sysfs.c
1460
static int damon_sysfs_apply_inputs(struct damon_ctx *ctx,
mm/damon/sysfs.c
1482
static struct damon_ctx *damon_sysfs_build_ctx(
mm/damon/sysfs.c
1488
static struct damon_ctx *damon_sysfs_new_test_ctx(
mm/damon/sysfs.c
1489
struct damon_ctx *running_ctx)
mm/damon/sysfs.c
1491
struct damon_ctx *test_ctx;
mm/damon/sysfs.c
1514
struct damon_ctx *param_ctx, *test_ctx;
mm/damon/sysfs.c
1526
test_ctx = damon_sysfs_new_test_ctx(kdamond->damon_ctx);
mm/damon/sysfs.c
1534
err = damon_commit_ctx(kdamond->damon_ctx, param_ctx);
mm/damon/sysfs.c
1544
struct damon_ctx *ctx;
mm/damon/sysfs.c
1553
ctx = sysfs_kdamond->damon_ctx;
mm/damon/sysfs.c
1571
struct damon_ctx *ctx = kdamond->damon_ctx;
mm/damon/sysfs.c
1581
struct damon_ctx *ctx = kdamond->damon_ctx;
mm/damon/sysfs.c
1590
static struct damon_ctx *damon_sysfs_build_ctx(
mm/damon/sysfs.c
1593
struct damon_ctx *ctx = damon_new_ctx();
mm/damon/sysfs.c
1635
struct damon_ctx *ctx;
mm/damon/sysfs.c
1645
if (kdamond->damon_ctx)
mm/damon/sysfs.c
1646
damon_destroy_ctx(kdamond->damon_ctx);
mm/damon/sysfs.c
1647
kdamond->damon_ctx = NULL;
mm/damon/sysfs.c
1664
kdamond->damon_ctx = ctx;
mm/damon/sysfs.c
1680
if (!kdamond->damon_ctx)
mm/damon/sysfs.c
1682
return damon_stop(&kdamond->damon_ctx, 1);
mm/damon/sysfs.c
1696
if (!kdamond->damon_ctx)
mm/damon/sysfs.c
1700
err = damon_call(kdamond->damon_ctx, &call_control);
mm/damon/sysfs.c
1710
static void damon_sysfs_schemes_tried_regions_upd_one(void *data, struct damon_ctx *ctx,
mm/damon/sysfs.c
1734
struct damon_ctx *ctx = sysfs_kdamond->damon_ctx;
mm/damon/sysfs.c
1820
struct damon_ctx *ctx;
mm/damon/sysfs.c
1825
ctx = kdamond->damon_ctx;
mm/damon/sysfs.c
1866
if (kdamond->damon_ctx)
mm/damon/sysfs.c
1867
damon_destroy_ctx(kdamond->damon_ctx);
mm/damon/tests/core-kunit.h
328
struct damon_ctx *c = damon_new_ctx();
mm/damon/tests/core-kunit.h
45
static unsigned int nr_damon_targets(struct damon_ctx *ctx)
mm/damon/tests/core-kunit.h
471
struct damon_ctx *c = damon_new_ctx();
mm/damon/tests/core-kunit.h
58
struct damon_ctx *c = damon_new_ctx();
mm/damon/tests/core-kunit.h
92
struct damon_ctx *ctx = damon_new_ctx();
mm/damon/tests/sysfs-kunit.h
15
static unsigned int nr_damon_targets(struct damon_ctx *ctx)
mm/damon/tests/sysfs-kunit.h
45
struct damon_ctx *ctx;
mm/damon/vaddr.c
239
static void __damon_va_init_regions(struct damon_ctx *ctx,
mm/damon/vaddr.c
280
static void damon_va_init(struct damon_ctx *ctx)
mm/damon/vaddr.c
294
static void damon_va_update(struct damon_ctx *ctx)
mm/damon/vaddr.c
409
static void damon_va_prepare_access_checks(struct damon_ctx *ctx)
mm/damon/vaddr.c
565
static unsigned int damon_va_check_accesses(struct damon_ctx *ctx)
mm/damon/vaddr.c
950
static unsigned long damon_va_apply_scheme(struct damon_ctx *ctx,
mm/damon/vaddr.c
987
static int damon_va_scheme_score(struct damon_ctx *context,
samples/damon/mtier.c
174
struct damon_ctx *ctx;
samples/damon/mtier.c
53
static struct damon_ctx *ctxs[2];
samples/damon/mtier.c
73
static struct damon_ctx *damon_sample_mtier_build_ctx(bool promote)
samples/damon/mtier.c
75
struct damon_ctx *ctx;
samples/damon/prcl.c
34
static struct damon_ctx *ctx;
samples/damon/prcl.c
39
struct damon_ctx *c = data;
samples/damon/wsse.c
35
static struct damon_ctx *ctx;
samples/damon/wsse.c
40
struct damon_ctx *c = data;