diff options
author | Kaixiong Yu <yukaixiong@huawei.com> | 2025-01-11 15:07:45 +0800 |
---|---|---|
committer | Joel Granados <joel.granados@kernel.org> | 2025-02-07 16:53:04 +0100 |
commit | f5d64ae331d00c27cc6fc615811a9ba13de5fb0e (patch) | |
tree | a2b115904836645eeaffb6c1df4687f7ef1bc577 | |
parent | 94eed61d5877c39b9dcdb9079aa6e0907aeb5f7d (diff) | |
download | linux-f5d64ae331d00c27cc6fc615811a9ba13de5fb0e.tar.gz linux-f5d64ae331d00c27cc6fc615811a9ba13de5fb0e.tar.bz2 linux-f5d64ae331d00c27cc6fc615811a9ba13de5fb0e.zip |
fs: drop_caches: move sysctl to fs/drop_caches.c
The sysctl_drop_caches to fs/drop_caches.c, move it to
fs/drop_caches.c from /kernel/sysctl.c. And remove the
useless extern variable declaration from include/linux/mm.h
Signed-off-by: Kaixiong Yu <yukaixiong@huawei.com>
Reviewed-by: Kees Cook <kees@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
-rw-r--r-- | fs/drop_caches.c | 23 | ||||
-rw-r--r-- | include/linux/mm.h | 6 | ||||
-rw-r--r-- | kernel/sysctl.c | 9 |
3 files changed, 21 insertions, 17 deletions
diff --git a/fs/drop_caches.c b/fs/drop_caches.c index d45ef541d848..019a8b4eaaf9 100644 --- a/fs/drop_caches.c +++ b/fs/drop_caches.c @@ -14,7 +14,7 @@ #include "internal.h" /* A global variable is a bit ugly, but it keeps the code simple */ -int sysctl_drop_caches; +static int sysctl_drop_caches; static void drop_pagecache_sb(struct super_block *sb, void *unused) { @@ -48,7 +48,7 @@ static void drop_pagecache_sb(struct super_block *sb, void *unused) iput(toput_inode); } -int drop_caches_sysctl_handler(const struct ctl_table *table, int write, +static int drop_caches_sysctl_handler(const struct ctl_table *table, int write, void *buffer, size_t *length, loff_t *ppos) { int ret; @@ -77,3 +77,22 @@ int drop_caches_sysctl_handler(const struct ctl_table *table, int write, } return 0; } + +static const struct ctl_table drop_caches_table[] = { + { + .procname = "drop_caches", + .data = &sysctl_drop_caches, + .maxlen = sizeof(int), + .mode = 0200, + .proc_handler = drop_caches_sysctl_handler, + .extra1 = SYSCTL_ONE, + .extra2 = SYSCTL_FOUR, + }, +}; + +static int __init init_vm_drop_caches_sysctls(void) +{ + register_sysctl_init("vm", drop_caches_table); + return 0; +} +fs_initcall(init_vm_drop_caches_sysctls); diff --git a/include/linux/mm.h b/include/linux/mm.h index 1c470e505bd4..f5ba3ed8b44a 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3789,12 +3789,6 @@ static inline int in_gate_area(struct mm_struct *mm, unsigned long addr) extern bool process_shares_mm(struct task_struct *p, struct mm_struct *mm); -#ifdef CONFIG_SYSCTL -extern int sysctl_drop_caches; -int drop_caches_sysctl_handler(const struct ctl_table *, int, void *, size_t *, - loff_t *); -#endif - void drop_slab(void); #ifndef CONFIG_MMU diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 40d68fb54779..b7142ed5c48d 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2015,15 +2015,6 @@ static const struct ctl_table kern_table[] = { static const struct ctl_table vm_table[] = { { - .procname = "drop_caches", - .data = &sysctl_drop_caches, - .maxlen = sizeof(int), - .mode = 0200, - .proc_handler = drop_caches_sysctl_handler, - .extra1 = SYSCTL_ONE, - .extra2 = SYSCTL_FOUR, - }, - { .procname = "vfs_cache_pressure", .data = &sysctl_vfs_cache_pressure, .maxlen = sizeof(sysctl_vfs_cache_pressure), |