2021-01-27 23:58:46

by Vlastimil Babka

[permalink] [raw]
Subject: [PATCH] mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON

The boot param and config determine the value of memcg_sysfs_enabled, which is
unused since commit 10befea91b61 ("mm: memcg/slab: use a single set of
kmem_caches for all allocations") as there are no per-memcg kmem caches
anymore.

Signed-off-by: Vlastimil Babka <[email protected]>
---
Documentation/admin-guide/kernel-parameters.txt | 8 --------
init/Kconfig | 14 --------------
mm/slub.c | 16 ----------------
3 files changed, 38 deletions(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index f4497faef266..7dc351da0005 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4892,14 +4892,6 @@
last alloc / free. For more information see
Documentation/vm/slub.rst.

- slub_memcg_sysfs= [MM, SLUB]
- Determines whether to enable sysfs directories for
- memory cgroup sub-caches. 1 to enable, 0 to disable.
- The default is determined by CONFIG_SLUB_MEMCG_SYSFS_ON.
- Enabling this can lead to a very high number of debug
- directories and files being created under
- /sys/kernel/slub.
-
slub_max_order= [MM, SLUB]
Determines the maximum allowed order for slabs.
A high setting may cause OOMs due to memory
diff --git a/init/Kconfig b/init/Kconfig
index e4e2932da237..af454a51f3c5 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1851,20 +1851,6 @@ config SLUB_DEBUG
SLUB sysfs support. /sys/slab will not exist and there will be
no support for cache validation etc.

-config SLUB_MEMCG_SYSFS_ON
- default n
- bool "Enable memcg SLUB sysfs support by default" if EXPERT
- depends on SLUB && SYSFS && MEMCG
- help
- SLUB creates a directory under /sys/kernel/slab for each
- allocation cache to host info and debug files. If memory
- cgroup is enabled, each cache can have per memory cgroup
- caches. SLUB can create the same sysfs directories for these
- caches under /sys/kernel/slab/CACHE/cgroup but it can lead
- to a very high number of debug files being created. This is
- controlled by slub_memcg_sysfs boot parameter and this
- config option determines the parameter's default value.
-
config COMPAT_BRK
bool "Disable heap randomization"
default y
diff --git a/mm/slub.c b/mm/slub.c
index 1b5148747c64..88782727412c 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5040,22 +5040,6 @@ enum slab_stat_type {
#define SO_OBJECTS (1 << SL_OBJECTS)
#define SO_TOTAL (1 << SL_TOTAL)

-#ifdef CONFIG_MEMCG
-static bool memcg_sysfs_enabled = IS_ENABLED(CONFIG_SLUB_MEMCG_SYSFS_ON);
-
-static int __init setup_slub_memcg_sysfs(char *str)
-{
- int v;
-
- if (get_option(&str, &v) > 0)
- memcg_sysfs_enabled = v;
-
- return 1;
-}
-
-__setup("slub_memcg_sysfs=", setup_slub_memcg_sysfs);
-#endif
-
static ssize_t show_slab_objects(struct kmem_cache *s,
char *buf, unsigned long flags)
{
--
2.30.0


2021-01-27 23:59:33

by David Hildenbrand

[permalink] [raw]
Subject: Re: [PATCH] mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON

On 27.01.21 13:47, Vlastimil Babka wrote:
> The boot param and config determine the value of memcg_sysfs_enabled, which is
> unused since commit 10befea91b61 ("mm: memcg/slab: use a single set of
> kmem_caches for all allocations") as there are no per-memcg kmem caches
> anymore.
>
> Signed-off-by: Vlastimil Babka <[email protected]>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 8 --------
> init/Kconfig | 14 --------------
> mm/slub.c | 16 ----------------
> 3 files changed, 38 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f4497faef266..7dc351da0005 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -4892,14 +4892,6 @@
> last alloc / free. For more information see
> Documentation/vm/slub.rst.
>
> - slub_memcg_sysfs= [MM, SLUB]
> - Determines whether to enable sysfs directories for
> - memory cgroup sub-caches. 1 to enable, 0 to disable.
> - The default is determined by CONFIG_SLUB_MEMCG_SYSFS_ON.
> - Enabling this can lead to a very high number of debug
> - directories and files being created under
> - /sys/kernel/slub.
> -
> slub_max_order= [MM, SLUB]
> Determines the maximum allowed order for slabs.
> A high setting may cause OOMs due to memory
> diff --git a/init/Kconfig b/init/Kconfig
> index e4e2932da237..af454a51f3c5 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1851,20 +1851,6 @@ config SLUB_DEBUG
> SLUB sysfs support. /sys/slab will not exist and there will be
> no support for cache validation etc.
>
> -config SLUB_MEMCG_SYSFS_ON
> - default n
> - bool "Enable memcg SLUB sysfs support by default" if EXPERT
> - depends on SLUB && SYSFS && MEMCG
> - help
> - SLUB creates a directory under /sys/kernel/slab for each
> - allocation cache to host info and debug files. If memory
> - cgroup is enabled, each cache can have per memory cgroup
> - caches. SLUB can create the same sysfs directories for these
> - caches under /sys/kernel/slab/CACHE/cgroup but it can lead
> - to a very high number of debug files being created. This is
> - controlled by slub_memcg_sysfs boot parameter and this
> - config option determines the parameter's default value.
> -
> config COMPAT_BRK
> bool "Disable heap randomization"
> default y
> diff --git a/mm/slub.c b/mm/slub.c
> index 1b5148747c64..88782727412c 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -5040,22 +5040,6 @@ enum slab_stat_type {
> #define SO_OBJECTS (1 << SL_OBJECTS)
> #define SO_TOTAL (1 << SL_TOTAL)
>
> -#ifdef CONFIG_MEMCG
> -static bool memcg_sysfs_enabled = IS_ENABLED(CONFIG_SLUB_MEMCG_SYSFS_ON);
> -
> -static int __init setup_slub_memcg_sysfs(char *str)
> -{
> - int v;
> -
> - if (get_option(&str, &v) > 0)
> - memcg_sysfs_enabled = v;
> -
> - return 1;
> -}
> -
> -__setup("slub_memcg_sysfs=", setup_slub_memcg_sysfs);
> -#endif
> -
> static ssize_t show_slab_objects(struct kmem_cache *s,
> char *buf, unsigned long flags)
> {
>

Reviewed-by: David Hildenbrand <[email protected]>

--
Thanks,

David / dhildenb

2021-01-28 00:13:04

by Roman Gushchin

[permalink] [raw]
Subject: Re: [PATCH] mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON

On Wed, Jan 27, 2021 at 01:47:45PM +0100, Vlastimil Babka wrote:
> The boot param and config determine the value of memcg_sysfs_enabled, which is
> unused since commit 10befea91b61 ("mm: memcg/slab: use a single set of
> kmem_caches for all allocations") as there are no per-memcg kmem caches
> anymore.
>
> Signed-off-by: Vlastimil Babka <[email protected]>

Nice cleanup!

Acked-by: Roman Gushchin <[email protected]>

Thanks, Vlastimil!
> ---
> Documentation/admin-guide/kernel-parameters.txt | 8 --------
> init/Kconfig | 14 --------------
> mm/slub.c | 16 ----------------
> 3 files changed, 38 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f4497faef266..7dc351da0005 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -4892,14 +4892,6 @@
> last alloc / free. For more information see
> Documentation/vm/slub.rst.
>
> - slub_memcg_sysfs= [MM, SLUB]
> - Determines whether to enable sysfs directories for
> - memory cgroup sub-caches. 1 to enable, 0 to disable.
> - The default is determined by CONFIG_SLUB_MEMCG_SYSFS_ON.
> - Enabling this can lead to a very high number of debug
> - directories and files being created under
> - /sys/kernel/slub.
> -
> slub_max_order= [MM, SLUB]
> Determines the maximum allowed order for slabs.
> A high setting may cause OOMs due to memory
> diff --git a/init/Kconfig b/init/Kconfig
> index e4e2932da237..af454a51f3c5 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1851,20 +1851,6 @@ config SLUB_DEBUG
> SLUB sysfs support. /sys/slab will not exist and there will be
> no support for cache validation etc.
>
> -config SLUB_MEMCG_SYSFS_ON
> - default n
> - bool "Enable memcg SLUB sysfs support by default" if EXPERT
> - depends on SLUB && SYSFS && MEMCG
> - help
> - SLUB creates a directory under /sys/kernel/slab for each
> - allocation cache to host info and debug files. If memory
> - cgroup is enabled, each cache can have per memory cgroup
> - caches. SLUB can create the same sysfs directories for these
> - caches under /sys/kernel/slab/CACHE/cgroup but it can lead
> - to a very high number of debug files being created. This is
> - controlled by slub_memcg_sysfs boot parameter and this
> - config option determines the parameter's default value.
> -
> config COMPAT_BRK
> bool "Disable heap randomization"
> default y
> diff --git a/mm/slub.c b/mm/slub.c
> index 1b5148747c64..88782727412c 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -5040,22 +5040,6 @@ enum slab_stat_type {
> #define SO_OBJECTS (1 << SL_OBJECTS)
> #define SO_TOTAL (1 << SL_TOTAL)
>
> -#ifdef CONFIG_MEMCG
> -static bool memcg_sysfs_enabled = IS_ENABLED(CONFIG_SLUB_MEMCG_SYSFS_ON);
> -
> -static int __init setup_slub_memcg_sysfs(char *str)
> -{
> - int v;
> -
> - if (get_option(&str, &v) > 0)
> - memcg_sysfs_enabled = v;
> -
> - return 1;
> -}
> -
> -__setup("slub_memcg_sysfs=", setup_slub_memcg_sysfs);
> -#endif
> -
> static ssize_t show_slab_objects(struct kmem_cache *s,
> char *buf, unsigned long flags)
> {
> --
> 2.30.0
>

2021-01-28 01:38:34

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON

On Wed, 27 Jan 2021, Vlastimil Babka wrote:

> The boot param and config determine the value of memcg_sysfs_enabled, which is
> unused since commit 10befea91b61 ("mm: memcg/slab: use a single set of
> kmem_caches for all allocations") as there are no per-memcg kmem caches
> anymore.
>
> Signed-off-by: Vlastimil Babka <[email protected]>

Acked-by: David Rientjes <[email protected]>

2021-01-28 02:28:51

by Miaohe Lin

[permalink] [raw]
Subject: Re: [PATCH] mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON

Hi:
On 2021/1/27 20:47, Vlastimil Babka wrote:
> The boot param and config determine the value of memcg_sysfs_enabled, which is
> unused since commit 10befea91b61 ("mm: memcg/slab: use a single set of
> kmem_caches for all allocations") as there are no per-memcg kmem caches
> anymore.
>

Good catch. Thanks.
Reviewed-by: Miaohe Lin <[email protected]>

> Signed-off-by: Vlastimil Babka <[email protected]>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 8 --------
> init/Kconfig | 14 --------------
> mm/slub.c | 16 ----------------
> 3 files changed, 38 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f4497faef266..7dc351da0005 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -4892,14 +4892,6 @@
> last alloc / free. For more information see
> Documentation/vm/slub.rst.
>
> - slub_memcg_sysfs= [MM, SLUB]
> - Determines whether to enable sysfs directories for
> - memory cgroup sub-caches. 1 to enable, 0 to disable.
> - The default is determined by CONFIG_SLUB_MEMCG_SYSFS_ON.
> - Enabling this can lead to a very high number of debug
> - directories and files being created under
> - /sys/kernel/slub.
> -
> slub_max_order= [MM, SLUB]
> Determines the maximum allowed order for slabs.
> A high setting may cause OOMs due to memory
> diff --git a/init/Kconfig b/init/Kconfig
> index e4e2932da237..af454a51f3c5 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1851,20 +1851,6 @@ config SLUB_DEBUG
> SLUB sysfs support. /sys/slab will not exist and there will be
> no support for cache validation etc.
>
> -config SLUB_MEMCG_SYSFS_ON
> - default n
> - bool "Enable memcg SLUB sysfs support by default" if EXPERT
> - depends on SLUB && SYSFS && MEMCG
> - help
> - SLUB creates a directory under /sys/kernel/slab for each
> - allocation cache to host info and debug files. If memory
> - cgroup is enabled, each cache can have per memory cgroup
> - caches. SLUB can create the same sysfs directories for these
> - caches under /sys/kernel/slab/CACHE/cgroup but it can lead
> - to a very high number of debug files being created. This is
> - controlled by slub_memcg_sysfs boot parameter and this
> - config option determines the parameter's default value.
> -
> config COMPAT_BRK
> bool "Disable heap randomization"
> default y
> diff --git a/mm/slub.c b/mm/slub.c
> index 1b5148747c64..88782727412c 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -5040,22 +5040,6 @@ enum slab_stat_type {
> #define SO_OBJECTS (1 << SL_OBJECTS)
> #define SO_TOTAL (1 << SL_TOTAL)
>
> -#ifdef CONFIG_MEMCG
> -static bool memcg_sysfs_enabled = IS_ENABLED(CONFIG_SLUB_MEMCG_SYSFS_ON);
> -
> -static int __init setup_slub_memcg_sysfs(char *str)
> -{
> - int v;
> -
> - if (get_option(&str, &v) > 0)
> - memcg_sysfs_enabled = v;
> -
> - return 1;
> -}
> -
> -__setup("slub_memcg_sysfs=", setup_slub_memcg_sysfs);
> -#endif
> -
> static ssize_t show_slab_objects(struct kmem_cache *s,
> char *buf, unsigned long flags)
> {
>