File Index
Files and directories
Sign in
FILE

sysfs-common.h

File preview with syntax highlighting.

linux-6.19.14/mm/damon/sysfs-common.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Common Code for DAMON Sysfs Interface
 4 *
 5 * Author: SeongJae Park <sj@kernel.org>
 6 */
 7
 8#include <linux/damon.h>
 9#include <linux/kobject.h>
10
11extern struct mutex damon_sysfs_lock;
12
13struct damon_sysfs_ul_range {
14	struct kobject kobj;
15	unsigned long min;
16	unsigned long max;
17};
18
19struct damon_sysfs_ul_range *damon_sysfs_ul_range_alloc(
20		unsigned long min,
21		unsigned long max);
22void damon_sysfs_ul_range_release(struct kobject *kobj);
23
24extern const struct kobj_type damon_sysfs_ul_range_ktype;
25
26/*
27 * schemes directory
28 */
29
30struct damon_sysfs_schemes {
31	struct kobject kobj;
32	struct damon_sysfs_scheme **schemes_arr;
33	int nr;
34};
35
36struct damon_sysfs_schemes *damon_sysfs_schemes_alloc(void);
37void damon_sysfs_schemes_rm_dirs(struct damon_sysfs_schemes *schemes);
38
39extern const struct kobj_type damon_sysfs_schemes_ktype;
40
41int damon_sysfs_add_schemes(struct damon_ctx *ctx,
42		struct damon_sysfs_schemes *sysfs_schemes);
43
44void damon_sysfs_schemes_update_stats(
45		struct damon_sysfs_schemes *sysfs_schemes,
46		struct damon_ctx *ctx);
47
48void damos_sysfs_populate_region_dir(struct damon_sysfs_schemes *sysfs_schemes,
49		struct damon_ctx *ctx, struct damon_target *t,
50		struct damon_region *r, struct damos *s,
51		bool total_bytes_only, unsigned long sz_filter_passed);
52
53int damon_sysfs_schemes_clear_regions(
54		struct damon_sysfs_schemes *sysfs_schemes);
55
56int damos_sysfs_set_quota_scores(struct damon_sysfs_schemes *sysfs_schemes,
57		struct damon_ctx *ctx);
58
59void damos_sysfs_update_effective_quotas(
60		struct damon_sysfs_schemes *sysfs_schemes,
61		struct damon_ctx *ctx);
~/ Read-only file preview.