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