2014-10-05 19:47 GMT+09:00 Chuck Ebbert <[email protected]>:
> On Sun,  5 Oct 2014 15:02:56 +0900
> Akinobu Mita <[email protected]> wrote:
>
>> 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: Akinobu Mita <[email protected]>
>> Reported-by: Peter Hurley <[email protected]>
>> Cc: Peter Hurley <[email protected]>
>> Cc: Chuck Ebbert <[email protected]>
>> Cc: Marek Szyprowski <[email protected]>
>> Cc: Konrad Rzeszutek Wilk <[email protected]>
>> Cc: David Woodhouse <[email protected]>
>> Cc: Don Dutile <[email protected]>
>> Cc: Thomas Gleixner <[email protected]>
>> Cc: Ingo Molnar <[email protected]>
>> Cc: "H. Peter Anvin" <[email protected]>
>> Cc: Andi Kleen <[email protected]>
>> Cc: Yinghai Lu <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> ---
>>  drivers/base/Kconfig | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
>> index 4e7f0ff..92a5987e 100644
>> --- a/drivers/base/Kconfig
>> +++ b/drivers/base/Kconfig
>> @@ -240,6 +240,7 @@ 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
>> @@ -248,6 +249,7 @@ config CMA_SIZE_MBYTES
>>  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
>
> You probably need to add some documentation too. Jean Delvare proposed
> the below, before your change. If the default is going to be zero on
> x86, that information and some further help should be added to this.

OK, I'll add information in help text for CONFIG_CMA_SIZE_MBYTES and
CONFIG_CMA_SIZE_PERCENTAGE.

Jean's patch adds information in CONFIG_DMA_CMA, so this change doesn't
conflict his patch.

> ------------------------
>
> From: Jean Delvare <[email protected]>
> Subject: [PATCH] CMA: Document cma=0
>
> It isn't obvious that CMA can be disabled on the kernel's command
> line, so document it.
>
> Signed-off-by: Jean Delvare <[email protected]>
> Cc: Joonsoo Kim <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> ---
>  Documentation/kernel-parameters.txt |    3 ++-
>  drivers/base/Kconfig                |    3 +++
>  2 files changed, 5 insertions(+), 1 deletion(-)
>
> --- linux-3.17-rc7.orig/Documentation/kernel-parameters.txt     2014-09-23 
> 13:19:06.644838292 +0200
> +++ linux-3.17-rc7/Documentation/kernel-parameters.txt  2014-10-04 
> 14:10:03.257579721 +0200
> @@ -656,7 +656,8 @@ bytes respectively. Such letter suffixes
>                         Sets the size of kernel global memory area for
>                         contiguous memory allocations and optionally the
>                         placement constraint by the physical address range of
> -                       memory allocations. For more information, see
> +                       memory allocations. A value of 0 disables CMA
> +                       altogether. For more information, see
>                         include/linux/dma-contiguous.h
>
>         cmo_free_hint=  [PPC] Format: { yes | no }
> --- linux-3.17-rc7.orig/drivers/base/Kconfig    2014-09-12 16:23:14.911353676 
> +0200
> +++ linux-3.17-rc7/drivers/base/Kconfig 2014-10-04 13:41:37.672347240 +0200
> @@ -231,6 +231,9 @@ config DMA_CMA
>           to allocate big physically-contiguous blocks of memory for use with
>           hardware components that do not support I/O map nor scatter-gather.
>
> +         You can disable CMA by specifying "cma=0" on the kernel's command
> +         line.
> +
>           For more information see <include/linux/dma-contiguous.h>.
>           If unsure, say "n".
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to