Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7be003a authored by Akinobu Mita's avatar Akinobu Mita Committed by Linus Torvalds
Browse files

cma: make default CMA area size zero for x86



This makes CMA memory area size zero for x86 in default configuration
(doesn't change on the other architectures).  If default CMA size is
zero, DMA_CMA is disabled.  It can be enabled by passing cma= to the
kernel.

This makes less impact on x86.  Because there is no mainline driver that
requires it for x86, and Peter Hurley reported the performance
regression, as this is trying to drive _all_ dma mapping allocations
through a _very_ small window.

Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Reported-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Cc: Peter Hurley <peter@hurleysoftware.com>
Cc: Chuck Ebbert <cebbert.lkml@gmail.com>
Cc: Jean Delvare <jdelvare@suse.de>
Acked-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Don Dutile <ddutile@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c0554329
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -267,18 +267,24 @@ comment "Default contiguous memory area size:"
config CMA_SIZE_MBYTES
	int "Size in Mega Bytes"
	depends on !CMA_SIZE_SEL_PERCENTAGE
	default 0 if X86
	default 16
	help
	  Defines the size (in MiB) of the default memory area for Contiguous
	  Memory Allocator.
	  Memory Allocator.  If the size of 0 is selected, CMA is disabled by
	  default, but it can be enabled by passing cma=size[MG] to the kernel.


config CMA_SIZE_PERCENTAGE
	int "Percentage of total memory"
	depends on !CMA_SIZE_SEL_MBYTES
	default 0 if X86
	default 10
	help
	  Defines the size of the default memory area for Contiguous Memory
	  Allocator as a percentage of the total memory in the system.
	  If 0 percent is selected, CMA is disabled by default, but it can be
	  enabled by passing cma=size[MG] to the kernel.

choice
	prompt "Selected region size"