This patch series moves sysctls of vm_table in kernel/sysctl.c to places where they actually belong, and do some related code clean-ups. After this patch series, all sysctls in vm_table have been moved into its own files, meanwhile, delete vm_table. All the modifications of this patch series base on linux-next(tags/next-20241219). To test this patch series, the code was compiled with both the CONFIG_SYSCTL enabled and disabled on arm64 and x86_64 architectures. After this patch series is applied, all files under /proc/sys/vm can be read or written normally. Changes in v4: - due to my mistake, the previous version sent 15 patches twice. Please ignore that, as this version is the correct one. - change all "static struct ctl_table" type into "static const struct ctl_table" type in patch1~10,12,13,14 - simplify result of rpcauth_cache_shrink_count() in patch11 Changes in v3: - change patch1~10, patch14 title suggested by Joel Granados - change sysctl_stat_interval to static type in patch1 - add acked-by from Paul Moore in patch7 - change dirtytime_expire_interval to static type in patch9 - add acked-by from Anna Schumaker in patch11 Changes in v2: - fix sysctl_max_map_count undeclared issue in mm/nommu.c for patch6 - update changelog for patch7/12, suggested by Kees/Paul - fix patch8, sorry for wrong changes and forget to built with NOMMU - add reviewed-by from Kees except patch8 since patch8 is wrong in v1 - add reviewed-by from Jan Kara, Christian Brauner in patch12 Kaixiong Yu (15): mm: vmstat: move sysctls to mm/vmstat.c mm: filemap: move sysctl to mm/filemap.c mm: swap: move sysctl to mm/swap.c mm: vmscan: move vmscan sysctls to mm/vmscan.c mm: util: move sysctls to mm/util.c mm: mmap: move sysctl to mm/mmap.c security: min_addr: move sysctl to security/min_addr.c mm: nommu: move sysctl to mm/nommu.c fs: fs-writeback: move sysctl to fs/fs-writeback.c fs: drop_caches: move sysctl to fs/drop_caches.c sunrpc: simplify rpcauth_cache_shrink_count() fs: dcache: move the sysctl to fs/dcache.c x86: vdso: move the sysctl to arch/x86/entry/vdso/vdso32-setup.c sh: vdso: move the sysctl to arch/sh/kernel/vsyscall/vsyscall.c sysctl: remove unneeded include arch/sh/kernel/vsyscall/vsyscall.c | 14 ++ arch/x86/entry/vdso/vdso32-setup.c | 16 ++- fs/dcache.c | 21 ++- fs/drop_caches.c | 23 ++- fs/fs-writeback.c | 30 ++-- include/linux/dcache.h | 7 +- include/linux/mm.h | 23 --- include/linux/mman.h | 2 - include/linux/swap.h | 9 -- include/linux/vmstat.h | 11 -- include/linux/writeback.h | 4 - kernel/sysctl.c | 221 ----------------------------- mm/filemap.c | 18 ++- mm/internal.h | 10 ++ mm/mmap.c | 54 +++++++ mm/nommu.c | 15 +- mm/swap.c | 16 ++- mm/swap.h | 1 + mm/util.c | 67 +++++++-- mm/vmscan.c | 23 +++ mm/vmstat.c | 44 +++++- net/sunrpc/auth.c | 2 +- security/min_addr.c | 11 ++ 23 files changed, 330 insertions(+), 312 deletions(-) -- 2.34.1