2023-03-09 03:45:01

by ye.xingchen

[permalink] [raw]
Subject: [PATCH V3 1/2] mm: compaction: move compact_memory sysctl to its own file

From: Minghao Chi <[email protected]>

The compact_memory is part of compaction, move it to its own file.

Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Minghao Chi <[email protected]>
Signed-off-by: Ye Xingchen <[email protected]>
---
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


2023-03-09 09:48:15

by Vlastimil Babka

[permalink] [raw]
Subject: Re: [PATCH V3 1/2] mm: compaction: move compact_memory sysctl to its own file

On 3/9/23 04:44, [email protected] wrote:
> From: Minghao Chi <[email protected]>
>
> The compact_memory is part of compaction, move it to its own file.
>
> Link: https://lore.kernel.org/all/[email protected]/
> Signed-off-by: Minghao Chi <[email protected]>
> Signed-off-by: Ye Xingchen <[email protected]>
> ---
> 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,

There's also this one, and two more, please move all of them at once?

> 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)


2023-03-19 20:54:58

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH V3 1/2] mm: compaction: move compact_memory sysctl to its own file

On Thu, Mar 09, 2023 at 10:47:46AM +0100, Vlastimil Babka wrote:
> On 3/9/23 04:44, [email protected] wrote:
> > From: Minghao Chi <[email protected]>
> >
> > The compact_memory is part of compaction, move it to its own file.
> >
> > Link: https://lore.kernel.org/all/[email protected]/
> > Signed-off-by: Minghao Chi <[email protected]>
> > Signed-off-by: Ye Xingchen <[email protected]>
> > ---
> > 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,
>
> There's also this one, and two more, please move all of them at once?

I'll wait for a v4, and if you can rebase on top of this tree that would
be appreciated:

https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/log/?h=sysctl-next

Luis