2022-06-09 11:08:01

by Muchun Song

[permalink] [raw]
Subject: [PATCH v2] mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE

"numa_stat" should not be included in the scope of CONFIG_HUGETLB_PAGE, if
CONFIG_HUGETLB_PAGE is not configured even if CONFIG_NUMA is configured,
"numa_stat" is missed form /proc. Move it out of CONFIG_HUGETLB_PAGE to
fix it.

Fixes: 4518085e127d ("mm, sysctl: make NUMA stats configurable")
Signed-off-by: Muchun Song <[email protected]>
Cc: <[email protected]>
---
v2:
- Simplify the fix, thanks to Michal.

kernel/sysctl.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 50a2c29efc94..485d2b1bc873 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -2091,6 +2091,17 @@ static struct ctl_table vm_table[] = {
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_TWO_HUNDRED,
},
+#ifdef CONFIG_NUMA
+ {
+ .procname = "numa_stat",
+ .data = &sysctl_vm_numa_stat,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = sysctl_vm_numa_stat_handler,
+ .extra1 = SYSCTL_ZERO,
+ .extra2 = SYSCTL_ONE,
+ },
+#endif
#ifdef CONFIG_HUGETLB_PAGE
{
.procname = "nr_hugepages",
@@ -2107,15 +2118,6 @@ static struct ctl_table vm_table[] = {
.mode = 0644,
.proc_handler = &hugetlb_mempolicy_sysctl_handler,
},
- {
- .procname = "numa_stat",
- .data = &sysctl_vm_numa_stat,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = sysctl_vm_numa_stat_handler,
- .extra1 = SYSCTL_ZERO,
- .extra2 = SYSCTL_ONE,
- },
#endif
{
.procname = "hugetlb_shm_group",
--
2.11.0


2022-06-09 11:57:41

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH v2] mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE

On Thu 09-06-22 18:40:32, Muchun Song wrote:
> "numa_stat" should not be included in the scope of CONFIG_HUGETLB_PAGE, if
> CONFIG_HUGETLB_PAGE is not configured even if CONFIG_NUMA is configured,
> "numa_stat" is missed form /proc. Move it out of CONFIG_HUGETLB_PAGE to
> fix it.
>
> Fixes: 4518085e127d ("mm, sysctl: make NUMA stats configurable")
> Signed-off-by: Muchun Song <[email protected]>
> Cc: <[email protected]>

Acked-by: Michal Hocko <[email protected]>

Thanks!

> ---
> v2:
> - Simplify the fix, thanks to Michal.
>
> kernel/sysctl.c | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 50a2c29efc94..485d2b1bc873 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -2091,6 +2091,17 @@ static struct ctl_table vm_table[] = {
> .extra1 = SYSCTL_ZERO,
> .extra2 = SYSCTL_TWO_HUNDRED,
> },
> +#ifdef CONFIG_NUMA
> + {
> + .procname = "numa_stat",
> + .data = &sysctl_vm_numa_stat,
> + .maxlen = sizeof(int),
> + .mode = 0644,
> + .proc_handler = sysctl_vm_numa_stat_handler,
> + .extra1 = SYSCTL_ZERO,
> + .extra2 = SYSCTL_ONE,
> + },
> +#endif
> #ifdef CONFIG_HUGETLB_PAGE
> {
> .procname = "nr_hugepages",
> @@ -2107,15 +2118,6 @@ static struct ctl_table vm_table[] = {
> .mode = 0644,
> .proc_handler = &hugetlb_mempolicy_sysctl_handler,
> },
> - {
> - .procname = "numa_stat",
> - .data = &sysctl_vm_numa_stat,
> - .maxlen = sizeof(int),
> - .mode = 0644,
> - .proc_handler = sysctl_vm_numa_stat_handler,
> - .extra1 = SYSCTL_ZERO,
> - .extra2 = SYSCTL_ONE,
> - },
> #endif
> {
> .procname = "hugetlb_shm_group",
> --
> 2.11.0

--
Michal Hocko
SUSE Labs

2022-06-09 14:02:43

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH v2] mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE

On Thu, Jun 09, 2022 at 06:40:32PM +0800, Muchun Song wrote:
> "numa_stat" should not be included in the scope of CONFIG_HUGETLB_PAGE, if
> CONFIG_HUGETLB_PAGE is not configured even if CONFIG_NUMA is configured,
> "numa_stat" is missed form /proc. Move it out of CONFIG_HUGETLB_PAGE to
> fix it.
>
> Fixes: 4518085e127d ("mm, sysctl: make NUMA stats configurable")
> Signed-off-by: Muchun Song <[email protected]>
> Cc: <[email protected]>

Thanks! Queued onto sysctl-fixes.

Luis

2022-06-09 15:41:23

by Mel Gorman

[permalink] [raw]
Subject: Re: [PATCH v2] mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE

On Thu, Jun 09, 2022 at 06:40:32PM +0800, Muchun Song wrote:
> "numa_stat" should not be included in the scope of CONFIG_HUGETLB_PAGE, if
> CONFIG_HUGETLB_PAGE is not configured even if CONFIG_NUMA is configured,
> "numa_stat" is missed form /proc. Move it out of CONFIG_HUGETLB_PAGE to
> fix it.
>
> Fixes: 4518085e127d ("mm, sysctl: make NUMA stats configurable")
> Signed-off-by: Muchun Song <[email protected]>
> Cc: <[email protected]>

Acked-by: Mel Gorman <[email protected]>

--
Mel Gorman
SUSE Labs