[U-Boot] [PATCH] arm: mx6: Reduce SPL malloc pool size

Przemyslaw Marczak p.marczak at samsung.com
Wed Nov 25 11:40:36 CET 2015


Hello Tim, Marek

On 11/20/2015 10:40 PM, Tim Harvey wrote:
> On Fri, Nov 20, 2015 at 12:43 PM, Marek Vasut <marex at denx.de> wrote:
>> Using 50 MiB malloc pool in SPL is nonsense. Since the caches are not
>> enabled in SPL, it takes 2 seconds to init the pool and has no obvious
>> benefit. Reduce the size to 1 MiB.
>>
>> Signed-off-by: Marek Vasut <marex at denx.de>
>> Cc: Stefano Babic <sbabic at denx.de>
>> Cc: Tim Harvey <tharvey at gateworks.com>
>> ---
>>   include/configs/imx6_spl.h | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h
>> index 1744f2c..43ce7fe 100644
>> --- a/include/configs/imx6_spl.h
>> +++ b/include/configs/imx6_spl.h
>> @@ -63,15 +63,15 @@
>>
>>   #if defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL) || defined(CONFIG_MX6SL)
>>   #define CONFIG_SPL_BSS_START_ADDR      0x88200000
>> -#define CONFIG_SPL_BSS_MAX_SIZE        0x100000        /* 1 MB */
>> +#define CONFIG_SPL_BSS_MAX_SIZE        0x100000                /* 1 MB */
>>   #define CONFIG_SYS_SPL_MALLOC_START    0x88300000
>> -#define CONFIG_SYS_SPL_MALLOC_SIZE     0x3200000       /* 50 MB */
>> +#define CONFIG_SYS_SPL_MALLOC_SIZE     0x100000                /* 1 MB */
>>   #define CONFIG_SYS_TEXT_BASE           0x87800000
>>   #else
>>   #define CONFIG_SPL_BSS_START_ADDR      0x18200000
>>   #define CONFIG_SPL_BSS_MAX_SIZE                0x100000        /* 1 MB */
>>   #define CONFIG_SYS_SPL_MALLOC_START    0x18300000
>> -#define CONFIG_SYS_SPL_MALLOC_SIZE     0x3200000       /* 50 MB */
>> +#define CONFIG_SYS_SPL_MALLOC_SIZE     0x100000        /* 1 MB */
>>   #define CONFIG_SYS_TEXT_BASE           0x17800000
>>   #endif
>>   #endif
>> --
>> 2.1.4
>>
>
> Acked-by: Tim Harvey <tharvey at gateworks.com>
>
> thanks for dropping 2 secs off our time to boot!
>
> Tim
>

The boot time for SPL and U-Boot can be reduced more if 
CONFIG_SYS_MALLOC_CLEAR_ON_INIT is unset (default is set).

Then it doesn't matter what is the size of malloc pool but it's not 
cleared - so needs check if malloc() calls should be changed to calloc().

Best regards,
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com


More information about the U-Boot mailing list