Commit 82edd9d5 authored by Rafael Aquini's avatar Rafael Aquini Committed by Linus Torvalds

mm/slab_common: provide "slab_merge" option for !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT) builds

This is a minor addition to the allocator setup options to provide a
simple way to on demand enable back cache merging for builds that by
default run with CONFIG_SLAB_MERGE_DEFAULT not set.

Link: https://lkml.kernel.org/r/20210319194506.200159-1-aquini@redhat.comSigned-off-by: default avatarRafael Aquini <aquini@redhat.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9bf3bc94
...@@ -4996,6 +4996,10 @@ ...@@ -4996,6 +4996,10 @@
slram= [HW,MTD] slram= [HW,MTD]
slab_merge [MM]
Enable merging of slabs with similar size when the
kernel is built without CONFIG_SLAB_MERGE_DEFAULT.
slab_nomerge [MM] slab_nomerge [MM]
Disable merging of slabs with similar size. May be Disable merging of slabs with similar size. May be
necessary if there is some reason to distinguish necessary if there is some reason to distinguish
...@@ -5043,6 +5047,9 @@ ...@@ -5043,6 +5047,9 @@
lower than slub_max_order. lower than slub_max_order.
For more information see Documentation/vm/slub.rst. For more information see Documentation/vm/slub.rst.
slub_merge [MM, SLUB]
Same with slab_merge.
slub_nomerge [MM, SLUB] slub_nomerge [MM, SLUB]
Same with slab_nomerge. This is supported for legacy. Same with slab_nomerge. This is supported for legacy.
See slab_nomerge for more information. See slab_nomerge for more information.
......
...@@ -71,11 +71,19 @@ static int __init setup_slab_nomerge(char *str) ...@@ -71,11 +71,19 @@ static int __init setup_slab_nomerge(char *str)
return 1; return 1;
} }
static int __init setup_slab_merge(char *str)
{
slab_nomerge = false;
return 1;
}
#ifdef CONFIG_SLUB #ifdef CONFIG_SLUB
__setup_param("slub_nomerge", slub_nomerge, setup_slab_nomerge, 0); __setup_param("slub_nomerge", slub_nomerge, setup_slab_nomerge, 0);
__setup_param("slub_merge", slub_merge, setup_slab_merge, 0);
#endif #endif
__setup("slab_nomerge", setup_slab_nomerge); __setup("slab_nomerge", setup_slab_nomerge);
__setup("slab_merge", setup_slab_merge);
/* /*
* Determine the size of a slab object * Determine the size of a slab object
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment