Skip to content

Commit c8e7b4d

Browse files
sjp38akpm00
authored andcommitted
mm/damon/sysfs: split out schemes directory implementation to separate file
DAMON sysfs interface for 'schemes' directory is implemented using about one thousand lines of code. It has no strong dependency with other parts of its file, so split it out to another file for better code management. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: SeongJae Park <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent 4acd715 commit c8e7b4d

File tree

4 files changed

+1091
-1065
lines changed

4 files changed

+1091
-1065
lines changed

mm/damon/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
obj-y := core.o
44
obj-$(CONFIG_DAMON_VADDR) += ops-common.o vaddr.o
55
obj-$(CONFIG_DAMON_PADDR) += ops-common.o paddr.o
6-
obj-$(CONFIG_DAMON_SYSFS) += sysfs-common.o sysfs.o
6+
obj-$(CONFIG_DAMON_SYSFS) += sysfs-common.o sysfs-schemes.o sysfs.o
77
obj-$(CONFIG_DAMON_DBGFS) += dbgfs.o
88
obj-$(CONFIG_DAMON_RECLAIM) += reclaim.o
99
obj-$(CONFIG_DAMON_LRU_SORT) += lru_sort.o

mm/damon/sysfs-common.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,25 @@ struct damon_sysfs_ul_range *damon_sysfs_ul_range_alloc(
2222
void damon_sysfs_ul_range_release(struct kobject *kobj);
2323

2424
extern struct kobj_type damon_sysfs_ul_range_ktype;
25+
26+
/*
27+
* schemes directory
28+
*/
29+
30+
struct damon_sysfs_schemes {
31+
struct kobject kobj;
32+
struct damon_sysfs_scheme **schemes_arr;
33+
int nr;
34+
};
35+
36+
struct damon_sysfs_schemes *damon_sysfs_schemes_alloc(void);
37+
void damon_sysfs_schemes_rm_dirs(struct damon_sysfs_schemes *schemes);
38+
39+
extern struct kobj_type damon_sysfs_schemes_ktype;
40+
41+
int damon_sysfs_set_schemes(struct damon_ctx *ctx,
42+
struct damon_sysfs_schemes *sysfs_schemes);
43+
44+
void damon_sysfs_schemes_update_stats(
45+
struct damon_sysfs_schemes *sysfs_schemes,
46+
struct damon_ctx *ctx);

0 commit comments

Comments
 (0)