2017-03-01 17:09:19

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] ARM: exynos_defconfig: increase CONFIG_CMA_SIZE_MBYTES to 96

On Tue, Feb 28, 2017 at 12:12:21PM -0700, Shuah Khan wrote:
> Current CMA size of 64 Mbytes is right on the edge of being small when
> several drivers need to allocate large CMA buffers.
>
> For example, if the s5p-mfc driver needs to pre-allocate N MiB CMA memory

Everything looks good but I don't get this "N MiB". What do you mean by
that? If N is infinite (or not known) then how do you know that 96 MiB
will be enough?

Best regards,
Krzysztof


> to decode a H.264 1080p video, then there won't be enough CMA memory left
> for other drivers, such as the exynos-drm driver that may need to allocate
> GEM buffers for the display manager.
>
> Increasing CMA size to 96 Mbytes in exynos_defconfig addresses use-cases
> such as these.
>
> Suggested-by: Marek Szyprowski <[email protected]>
> Signed-off-by: Shuah Khan <[email protected]>
> Reviewed-by: Javier Martinez Canillas <[email protected]>
> ---
>
> Changes since v1:
> Fix short and long commit log.
>
> Reason for this patch:
> With the proposed s5p_mfc patch series that pre-allocate buffers, when
> display manager starts, it fails to get GEM buffers. Increasing the CMA
> size to 96 solved the problem.
>
> arch/arm/configs/exynos_defconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
> index 742baf0..2541414 100644
> --- a/arch/arm/configs/exynos_defconfig
> +++ b/arch/arm/configs/exynos_defconfig
> @@ -53,7 +53,7 @@ CONFIG_RFKILL_REGULATOR=y
> CONFIG_DEVTMPFS=y
> CONFIG_DEVTMPFS_MOUNT=y
> CONFIG_DMA_CMA=y
> -CONFIG_CMA_SIZE_MBYTES=64
> +CONFIG_CMA_SIZE_MBYTES=96
> CONFIG_BLK_DEV_LOOP=y
> CONFIG_BLK_DEV_CRYPTOLOOP=y
> CONFIG_BLK_DEV_RAM=y
> --
> 2.7.4
>


2017-03-01 18:15:28

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH v2] ARM: exynos_defconfig: increase CONFIG_CMA_SIZE_MBYTES to 96

On 03/01/2017 10:09 AM, Krzysztof Kozlowski wrote:
> On Tue, Feb 28, 2017 at 12:12:21PM -0700, Shuah Khan wrote:
>> Current CMA size of 64 Mbytes is right on the edge of being small when
>> several drivers need to allocate large CMA buffers.
>>
>> For example, if the s5p-mfc driver needs to pre-allocate N MiB CMA memory
>
> Everything looks good but I don't get this "N MiB". What do you mean by
> that? If N is infinite (or not known) then how do you know that 96 MiB
> will be enough?

s5p_mfc pre-allocating the default 8MiB at the moment with CMA size of
64 Mbytes H.264 1080p video use0case fails. Works with CMA size = 96 Mbytes.

N in this log meant to cover the deualt case of 8 MiB or any user override
with s5p_mfc.mem=UserSpecifiedM. If this leads to confusion, we can amend
it to say "pre-allocate CMA memory"

Would you like me to amend the changelog with the above change and resend
the patch?

thanks,
-- Shuah


>
> Best regards,
> Krzysztof
>
>
>> to decode a H.264 1080p video, then there won't be enough CMA memory left
>> for other drivers, such as the exynos-drm driver that may need to allocate
>> GEM buffers for the display manager.
>>
>> Increasing CMA size to 96 Mbytes in exynos_defconfig addresses use-cases
>> such as these.
>>
>> Suggested-by: Marek Szyprowski <[email protected]>
>> Signed-off-by: Shuah Khan <[email protected]>
>> Reviewed-by: Javier Martinez Canillas <[email protected]>
>> ---
>>
>> Changes since v1:
>> Fix short and long commit log.
>>
>> Reason for this patch:
>> With the proposed s5p_mfc patch series that pre-allocate buffers, when
>> display manager starts, it fails to get GEM buffers. Increasing the CMA
>> size to 96 solved the problem.
>>
>> arch/arm/configs/exynos_defconfig | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
>> index 742baf0..2541414 100644
>> --- a/arch/arm/configs/exynos_defconfig
>> +++ b/arch/arm/configs/exynos_defconfig
>> @@ -53,7 +53,7 @@ CONFIG_RFKILL_REGULATOR=y
>> CONFIG_DEVTMPFS=y
>> CONFIG_DEVTMPFS_MOUNT=y
>> CONFIG_DMA_CMA=y
>> -CONFIG_CMA_SIZE_MBYTES=64
>> +CONFIG_CMA_SIZE_MBYTES=96
>> CONFIG_BLK_DEV_LOOP=y
>> CONFIG_BLK_DEV_CRYPTOLOOP=y
>> CONFIG_BLK_DEV_RAM=y
>> --
>> 2.7.4
>>

2017-03-01 18:49:47

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] ARM: exynos_defconfig: increase CONFIG_CMA_SIZE_MBYTES to 96

On Wed, Mar 01, 2017 at 11:08:52AM -0700, Shuah Khan wrote:
> On 03/01/2017 10:09 AM, Krzysztof Kozlowski wrote:
> > On Tue, Feb 28, 2017 at 12:12:21PM -0700, Shuah Khan wrote:
> >> Current CMA size of 64 Mbytes is right on the edge of being small when
> >> several drivers need to allocate large CMA buffers.
> >>
> >> For example, if the s5p-mfc driver needs to pre-allocate N MiB CMA memory
> >
> > Everything looks good but I don't get this "N MiB". What do you mean by
> > that? If N is infinite (or not known) then how do you know that 96 MiB
> > will be enough?
>
> s5p_mfc pre-allocating the default 8MiB at the moment with CMA size of
> 64 Mbytes H.264 1080p video use0case fails. Works with CMA size = 96 Mbytes.
>
> N in this log meant to cover the deualt case of 8 MiB or any user override
> with s5p_mfc.mem=UserSpecifiedM. If this leads to confusion, we can amend
> it to say "pre-allocate CMA memory"
>
> Would you like me to amend the changelog with the above change and resend
> the patch?

I get the point. I think the ammended version sounds better but there is
no need to resend. I will rephrase it when applying (after merge
window).

Best regards,
Krzysztof