[PATCH V3 1/2] mm: compaction: move compact_memory sysctl to its own file

From: ye.xingchen
Date: Wed Mar 08 2023 - 22:45:03 EST


From: Minghao Chi <chi.minghao@xxxxxxxxxx>

The compact_memory is part of compaction, move it to its own file.

Link: https://lore.kernel.org/all/ZAJwoXJCzfk1WIBx@xxxxxxxxxxxxxxxxxxxxxx/
Signed-off-by: Minghao Chi <chi.minghao@xxxxxxxxxx>
Signed-off-by: Ye Xingchen <ye.xingchen@xxxxxxxxxx>
---
kernel/sysctl.c | 7 -------
mm/compaction.c | 15 +++++++++++++++
2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index c14552a662ae..f574f9985df4 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -2190,13 +2190,6 @@ static struct ctl_table vm_table[] = {
.extra2 = SYSCTL_FOUR,
},
#ifdef CONFIG_COMPACTION
- {
- .procname = "compact_memory",
- .data = NULL,
- .maxlen = sizeof(int),
- .mode = 0200,
- .proc_handler = sysctl_compaction_handler,
- },
{
.procname = "compaction_proactiveness",
.data = &sysctl_compaction_proactiveness,
diff --git a/mm/compaction.c b/mm/compaction.c
index 5a9501e0ae01..acbda28c11f4 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -2763,6 +2763,18 @@ int compaction_proactiveness_sysctl_handler(struct ctl_table *table, int write,
return 0;
}

+#ifdef CONFIG_SYSCTL
+static struct ctl_table vm_compact_memory[] = {
+ {
+ .procname = "compact_memory",
+ .data = NULL,
+ .maxlen = sizeof(int),
+ .mode = 0200,
+ .proc_handler = sysctl_compaction_handler,
+ },
+ { }
+};
+#endif
/*
* This is the entry point for compacting all nodes via
* /proc/sys/vm/compact_memory
@@ -3078,6 +3090,9 @@ static int __init kcompactd_init(void)

for_each_node_state(nid, N_MEMORY)
kcompactd_run(nid);
+#ifdef CONFIG_SYSCTL
+ register_sysctl_init("vm", vm_compact_memory);
+#endif
return 0;
}
subsys_initcall(kcompactd_init)
--
2.25.1