提交 82edd9d5 编写于 作者: R Rafael Aquini 提交者: 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: NRafael 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: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册