]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm: vmscan: move vmscan sysctls to mm/vmscan.c
authorKaixiong Yu <yukaixiong@huawei.com>
Sat, 11 Jan 2025 07:07:39 +0000 (15:07 +0800)
committerJoel Granados <joel.granados@kernel.org>
Fri, 7 Feb 2025 15:53:04 +0000 (16:53 +0100)
This moves vm_swappiness and zone_reclaim_mode to mm/vmscan.c,
as part of the kernel/sysctl.c cleaning, also moves some external
variable declarations and function declarations from include/linux/swap.h
into mm/internal.h.

Signed-off-by: Kaixiong Yu <yukaixiong@huawei.com>
Reviewed-by: Kees Cook <kees@kernel.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
include/linux/swap.h
kernel/sysctl.c
mm/internal.h
mm/vmscan.c

index b13b72645db3370e93d441ef140de72696faa6ef..a98c757400fede35debb640e616c77fd51c6dbbf 100644 (file)
@@ -433,19 +433,10 @@ extern int vm_swappiness;
 long remove_mapping(struct address_space *mapping, struct folio *folio);
 
 #ifdef CONFIG_NUMA
-extern int node_reclaim_mode;
 extern int sysctl_min_unmapped_ratio;
 extern int sysctl_min_slab_ratio;
-#else
-#define node_reclaim_mode 0
 #endif
 
-static inline bool node_reclaim_enabled(void)
-{
-       /* Is any node_reclaim_mode bit set? */
-       return node_reclaim_mode & (RECLAIM_ZONE|RECLAIM_WRITE|RECLAIM_UNMAP);
-}
-
 void check_move_unevictable_folios(struct folio_batch *fbatch);
 
 extern void __meminit kswapd_run(int nid);
index b14e8764d45b34a654cb3cc5c6dc3e30c29199e3..c1434adb8d506cacbfc0982b4a50dc832c65b213 100644 (file)
@@ -2051,15 +2051,6 @@ static const struct ctl_table vm_table[] = {
                .proc_handler   = dirtytime_interval_handler,
                .extra1         = SYSCTL_ZERO,
        },
-       {
-               .procname       = "swappiness",
-               .data           = &vm_swappiness,
-               .maxlen         = sizeof(vm_swappiness),
-               .mode           = 0644,
-               .proc_handler   = proc_dointvec_minmax,
-               .extra1         = SYSCTL_ZERO,
-               .extra2         = SYSCTL_TWO_HUNDRED,
-       },
        {
                .procname       = "drop_caches",
                .data           = &sysctl_drop_caches,
@@ -2107,16 +2098,6 @@ static const struct ctl_table vm_table[] = {
                .extra1         = SYSCTL_ZERO,
        },
 #endif
-#ifdef CONFIG_NUMA
-       {
-               .procname       = "zone_reclaim_mode",
-               .data           = &node_reclaim_mode,
-               .maxlen         = sizeof(node_reclaim_mode),
-               .mode           = 0644,
-               .proc_handler   = proc_dointvec_minmax,
-               .extra1         = SYSCTL_ZERO,
-       },
-#endif
 #ifdef CONFIG_MMU
        {
                .procname       = "mmap_min_addr",
index 109ef30fee11f8b399f6bac42eab078cd51e01a5..cdbbe4c215c02369b81a85b961dbd103a2844af4 100644 (file)
@@ -1097,9 +1097,13 @@ static inline void mminit_verify_zonelist(void)
 #define NODE_RECLAIM_SUCCESS   1
 
 #ifdef CONFIG_NUMA
+extern int node_reclaim_mode;
+
 extern int node_reclaim(struct pglist_data *, gfp_t, unsigned int);
 extern int find_next_best_node(int node, nodemask_t *used_node_mask);
 #else
+#define node_reclaim_mode 0
+
 static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask,
                                unsigned int order)
 {
@@ -1111,6 +1115,12 @@ static inline int find_next_best_node(int node, nodemask_t *used_node_mask)
 }
 #endif
 
+static inline bool node_reclaim_enabled(void)
+{
+       /* Is any node_reclaim_mode bit set? */
+       return node_reclaim_mode & (RECLAIM_ZONE|RECLAIM_WRITE|RECLAIM_UNMAP);
+}
+
 /*
  * mm/memory-failure.c
  */
index c767d71c43d7d202244d1e4b4fdedcb75c39979d..eb228a8cd769509e2f8eb8e5d1c34fd77b7ebb8e 100644 (file)
@@ -7404,6 +7404,28 @@ void __meminit kswapd_stop(int nid)
        pgdat_kswapd_unlock(pgdat);
 }
 
+static const struct ctl_table vmscan_sysctl_table[] = {
+       {
+               .procname       = "swappiness",
+               .data           = &vm_swappiness,
+               .maxlen         = sizeof(vm_swappiness),
+               .mode           = 0644,
+               .proc_handler   = proc_dointvec_minmax,
+               .extra1         = SYSCTL_ZERO,
+               .extra2         = SYSCTL_TWO_HUNDRED,
+       },
+#ifdef CONFIG_NUMA
+       {
+               .procname       = "zone_reclaim_mode",
+               .data           = &node_reclaim_mode,
+               .maxlen         = sizeof(node_reclaim_mode),
+               .mode           = 0644,
+               .proc_handler   = proc_dointvec_minmax,
+               .extra1         = SYSCTL_ZERO,
+       }
+#endif
+};
+
 static int __init kswapd_init(void)
 {
        int nid;
@@ -7411,6 +7433,7 @@ static int __init kswapd_init(void)
        swap_setup();
        for_each_node_state(nid, N_MEMORY)
                kswapd_run(nid);
+       register_sysctl_init("vm", vmscan_sysctl_table);
        return 0;
 }