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

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.com


Signed-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
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -4996,6 +4996,10 @@

	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]
			Disable merging of slabs with similar size. May be
			necessary if there is some reason to distinguish
@@ -5043,6 +5047,9 @@
			lower than slub_max_order.
			For more information see Documentation/vm/slub.rst.

	slub_merge	[MM, SLUB]
			Same with slab_merge.

	slub_nomerge	[MM, SLUB]
			Same with slab_nomerge. This is supported for legacy.
			See slab_nomerge for more information.
+8 −0
Original line number Diff line number Diff line
@@ -71,11 +71,19 @@ static int __init setup_slab_nomerge(char *str)
	return 1;
}

static int __init setup_slab_merge(char *str)
{
	slab_nomerge = false;
	return 1;
}

#ifdef CONFIG_SLUB
__setup_param("slub_nomerge", slub_nomerge, setup_slab_nomerge, 0);
__setup_param("slub_merge", slub_merge, setup_slab_merge, 0);
#endif

__setup("slab_nomerge", setup_slab_nomerge);
__setup("slab_merge", setup_slab_merge);

/*
 * Determine the size of a slab object