Skip to content

Commit 538d5ba

Browse files
yukaixiongJoelgranados
authored andcommitted
mm: vmscan: move vmscan sysctls to mm/vmscan.c
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 <[email protected]> Reviewed-by: Kees Cook <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Signed-off-by: Joel Granados <[email protected]>
1 parent 7e05627 commit 538d5ba

File tree

4 files changed

+33
-28
lines changed

4 files changed

+33
-28
lines changed

include/linux/swap.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -433,19 +433,10 @@ extern int vm_swappiness;
433433
long remove_mapping(struct address_space *mapping, struct folio *folio);
434434

435435
#ifdef CONFIG_NUMA
436-
extern int node_reclaim_mode;
437436
extern int sysctl_min_unmapped_ratio;
438437
extern int sysctl_min_slab_ratio;
439-
#else
440-
#define node_reclaim_mode 0
441438
#endif
442439

443-
static inline bool node_reclaim_enabled(void)
444-
{
445-
/* Is any node_reclaim_mode bit set? */
446-
return node_reclaim_mode & (RECLAIM_ZONE|RECLAIM_WRITE|RECLAIM_UNMAP);
447-
}
448-
449440
void check_move_unevictable_folios(struct folio_batch *fbatch);
450441

451442
extern void __meminit kswapd_run(int nid);

kernel/sysctl.c

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2051,15 +2051,6 @@ static const struct ctl_table vm_table[] = {
20512051
.proc_handler = dirtytime_interval_handler,
20522052
.extra1 = SYSCTL_ZERO,
20532053
},
2054-
{
2055-
.procname = "swappiness",
2056-
.data = &vm_swappiness,
2057-
.maxlen = sizeof(vm_swappiness),
2058-
.mode = 0644,
2059-
.proc_handler = proc_dointvec_minmax,
2060-
.extra1 = SYSCTL_ZERO,
2061-
.extra2 = SYSCTL_TWO_HUNDRED,
2062-
},
20632054
{
20642055
.procname = "drop_caches",
20652056
.data = &sysctl_drop_caches,
@@ -2107,16 +2098,6 @@ static const struct ctl_table vm_table[] = {
21072098
.extra1 = SYSCTL_ZERO,
21082099
},
21092100
#endif
2110-
#ifdef CONFIG_NUMA
2111-
{
2112-
.procname = "zone_reclaim_mode",
2113-
.data = &node_reclaim_mode,
2114-
.maxlen = sizeof(node_reclaim_mode),
2115-
.mode = 0644,
2116-
.proc_handler = proc_dointvec_minmax,
2117-
.extra1 = SYSCTL_ZERO,
2118-
},
2119-
#endif
21202101
#ifdef CONFIG_MMU
21212102
{
21222103
.procname = "mmap_min_addr",

mm/internal.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,9 +1097,13 @@ static inline void mminit_verify_zonelist(void)
10971097
#define NODE_RECLAIM_SUCCESS 1
10981098

10991099
#ifdef CONFIG_NUMA
1100+
extern int node_reclaim_mode;
1101+
11001102
extern int node_reclaim(struct pglist_data *, gfp_t, unsigned int);
11011103
extern int find_next_best_node(int node, nodemask_t *used_node_mask);
11021104
#else
1105+
#define node_reclaim_mode 0
1106+
11031107
static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask,
11041108
unsigned int order)
11051109
{
@@ -1111,6 +1115,12 @@ static inline int find_next_best_node(int node, nodemask_t *used_node_mask)
11111115
}
11121116
#endif
11131117

1118+
static inline bool node_reclaim_enabled(void)
1119+
{
1120+
/* Is any node_reclaim_mode bit set? */
1121+
return node_reclaim_mode & (RECLAIM_ZONE|RECLAIM_WRITE|RECLAIM_UNMAP);
1122+
}
1123+
11141124
/*
11151125
* mm/memory-failure.c
11161126
*/

mm/vmscan.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7404,13 +7404,36 @@ void __meminit kswapd_stop(int nid)
74047404
pgdat_kswapd_unlock(pgdat);
74057405
}
74067406

7407+
static const struct ctl_table vmscan_sysctl_table[] = {
7408+
{
7409+
.procname = "swappiness",
7410+
.data = &vm_swappiness,
7411+
.maxlen = sizeof(vm_swappiness),
7412+
.mode = 0644,
7413+
.proc_handler = proc_dointvec_minmax,
7414+
.extra1 = SYSCTL_ZERO,
7415+
.extra2 = SYSCTL_TWO_HUNDRED,
7416+
},
7417+
#ifdef CONFIG_NUMA
7418+
{
7419+
.procname = "zone_reclaim_mode",
7420+
.data = &node_reclaim_mode,
7421+
.maxlen = sizeof(node_reclaim_mode),
7422+
.mode = 0644,
7423+
.proc_handler = proc_dointvec_minmax,
7424+
.extra1 = SYSCTL_ZERO,
7425+
}
7426+
#endif
7427+
};
7428+
74077429
static int __init kswapd_init(void)
74087430
{
74097431
int nid;
74107432

74117433
swap_setup();
74127434
for_each_node_state(nid, N_MEMORY)
74137435
kswapd_run(nid);
7436+
register_sysctl_init("vm", vmscan_sysctl_table);
74147437
return 0;
74157438
}
74167439

0 commit comments

Comments
 (0)