2021-11-09 13:07:32

by Muchun Song

[permalink] [raw]
Subject: [PATCH] mm: memcontrol: make cgroup_memory_nokmem static

The commit 494c1dfe855e ("mm: memcg/slab: create a new set of kmalloc-cg-<n>
caches") makes cgroup_memory_nokmem global, however, it is unnecessary
because there is already a function mem_cgroup_kmem_disabled() which
exports it.

Just make it static and replace it with mem_cgroup_kmem_disabled()
in mm/slab_common.c.

Signed-off-by: Muchun Song <[email protected]>
---
mm/internal.h | 5 -----
mm/memcontrol.c | 2 +-
mm/slab_common.c | 2 +-
3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/mm/internal.h b/mm/internal.h
index 18256e32a14c..ad15251d7a3c 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -137,11 +137,6 @@ extern void putback_lru_page(struct page *page);
extern pmd_t *mm_find_pmd(struct mm_struct *mm, unsigned long address);

/*
- * in mm/memcontrol.c:
- */
-extern bool cgroup_memory_nokmem;
-
-/*
* in mm/page_alloc.c
*/

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8f1d9c028897..89fc3ca65b2d 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -84,7 +84,7 @@ EXPORT_PER_CPU_SYMBOL_GPL(int_active_memcg);
static bool cgroup_memory_nosocket __ro_after_init;

/* Kernel memory accounting disabled? */
-bool cgroup_memory_nokmem __ro_after_init;
+static bool cgroup_memory_nokmem __ro_after_init;

/* Whether the swap controller is active */
#ifdef CONFIG_MEMCG_SWAP
diff --git a/mm/slab_common.c b/mm/slab_common.c
index e5d080a93009..d05203a11201 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -849,7 +849,7 @@ new_kmalloc_cache(int idx, enum kmalloc_cache_type type, slab_flags_t flags)
if (type == KMALLOC_RECLAIM) {
flags |= SLAB_RECLAIM_ACCOUNT;
} else if (IS_ENABLED(CONFIG_MEMCG_KMEM) && (type == KMALLOC_CGROUP)) {
- if (cgroup_memory_nokmem) {
+ if (mem_cgroup_kmem_disabled()) {
kmalloc_caches[type][idx] = kmalloc_caches[KMALLOC_NORMAL][idx];
return;
}
--
2.11.0


2021-11-10 01:58:34

by Chris Down

[permalink] [raw]
Subject: Re: [PATCH] mm: memcontrol: make cgroup_memory_nokmem static

Muchun Song writes:
>The commit 494c1dfe855e ("mm: memcg/slab: create a new set of kmalloc-cg-<n>
>caches") makes cgroup_memory_nokmem global, however, it is unnecessary
>because there is already a function mem_cgroup_kmem_disabled() which
>exports it.
>
>Just make it static and replace it with mem_cgroup_kmem_disabled()
>in mm/slab_common.c.
>
>Signed-off-by: Muchun Song <[email protected]>

Seems reasonable, thanks.

Acked-by: Chris Down <[email protected]>

>---
> mm/internal.h | 5 -----
> mm/memcontrol.c | 2 +-
> mm/slab_common.c | 2 +-
> 3 files changed, 2 insertions(+), 7 deletions(-)
>
>diff --git a/mm/internal.h b/mm/internal.h
>index 18256e32a14c..ad15251d7a3c 100644
>--- a/mm/internal.h
>+++ b/mm/internal.h
>@@ -137,11 +137,6 @@ extern void putback_lru_page(struct page *page);
> extern pmd_t *mm_find_pmd(struct mm_struct *mm, unsigned long address);
>
> /*
>- * in mm/memcontrol.c:
>- */
>-extern bool cgroup_memory_nokmem;
>-
>-/*
> * in mm/page_alloc.c
> */
>
>diff --git a/mm/memcontrol.c b/mm/memcontrol.c
>index 8f1d9c028897..89fc3ca65b2d 100644
>--- a/mm/memcontrol.c
>+++ b/mm/memcontrol.c
>@@ -84,7 +84,7 @@ EXPORT_PER_CPU_SYMBOL_GPL(int_active_memcg);
> static bool cgroup_memory_nosocket __ro_after_init;
>
> /* Kernel memory accounting disabled? */
>-bool cgroup_memory_nokmem __ro_after_init;
>+static bool cgroup_memory_nokmem __ro_after_init;
>
> /* Whether the swap controller is active */
> #ifdef CONFIG_MEMCG_SWAP
>diff --git a/mm/slab_common.c b/mm/slab_common.c
>index e5d080a93009..d05203a11201 100644
>--- a/mm/slab_common.c
>+++ b/mm/slab_common.c
>@@ -849,7 +849,7 @@ new_kmalloc_cache(int idx, enum kmalloc_cache_type type, slab_flags_t flags)
> if (type == KMALLOC_RECLAIM) {
> flags |= SLAB_RECLAIM_ACCOUNT;
> } else if (IS_ENABLED(CONFIG_MEMCG_KMEM) && (type == KMALLOC_CGROUP)) {
>- if (cgroup_memory_nokmem) {
>+ if (mem_cgroup_kmem_disabled()) {
> kmalloc_caches[type][idx] = kmalloc_caches[KMALLOC_NORMAL][idx];
> return;
> }
>--
>2.11.0
>
>

2021-11-16 17:27:25

by Vlastimil Babka

[permalink] [raw]
Subject: Re: [PATCH] mm: memcontrol: make cgroup_memory_nokmem static

On 11/9/21 07:54, Muchun Song wrote:
> The commit 494c1dfe855e ("mm: memcg/slab: create a new set of kmalloc-cg-<n>
> caches") makes cgroup_memory_nokmem global, however, it is unnecessary
> because there is already a function mem_cgroup_kmem_disabled() which
> exports it.
>
> Just make it static and replace it with mem_cgroup_kmem_disabled()
> in mm/slab_common.c.
>
> Signed-off-by: Muchun Song <[email protected]>

Acked-by: Vlastimil Babka <[email protected]>

> ---
> mm/internal.h | 5 -----
> mm/memcontrol.c | 2 +-
> mm/slab_common.c | 2 +-
> 3 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/mm/internal.h b/mm/internal.h
> index 18256e32a14c..ad15251d7a3c 100644
> --- a/mm/internal.h
> +++ b/mm/internal.h
> @@ -137,11 +137,6 @@ extern void putback_lru_page(struct page *page);
> extern pmd_t *mm_find_pmd(struct mm_struct *mm, unsigned long address);
>
> /*
> - * in mm/memcontrol.c:
> - */
> -extern bool cgroup_memory_nokmem;
> -
> -/*
> * in mm/page_alloc.c
> */
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 8f1d9c028897..89fc3ca65b2d 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -84,7 +84,7 @@ EXPORT_PER_CPU_SYMBOL_GPL(int_active_memcg);
> static bool cgroup_memory_nosocket __ro_after_init;
>
> /* Kernel memory accounting disabled? */
> -bool cgroup_memory_nokmem __ro_after_init;
> +static bool cgroup_memory_nokmem __ro_after_init;
>
> /* Whether the swap controller is active */
> #ifdef CONFIG_MEMCG_SWAP
> diff --git a/mm/slab_common.c b/mm/slab_common.c
> index e5d080a93009..d05203a11201 100644
> --- a/mm/slab_common.c
> +++ b/mm/slab_common.c
> @@ -849,7 +849,7 @@ new_kmalloc_cache(int idx, enum kmalloc_cache_type type, slab_flags_t flags)
> if (type == KMALLOC_RECLAIM) {
> flags |= SLAB_RECLAIM_ACCOUNT;
> } else if (IS_ENABLED(CONFIG_MEMCG_KMEM) && (type == KMALLOC_CGROUP)) {
> - if (cgroup_memory_nokmem) {
> + if (mem_cgroup_kmem_disabled()) {
> kmalloc_caches[type][idx] = kmalloc_caches[KMALLOC_NORMAL][idx];
> return;
> }
>