[U-Boot] [PATCH v5 0/7] arm: a few steps to improve boot time

Przemyslaw Marczak p.marczak at samsung.com
Tue Feb 24 15:47:37 CET 2015


Hello Tom,

On 02/24/2015 11:38 AM, Przemyslaw Marczak wrote:
> This patchset reduces the boot time for ARM architecture,
> Exynos boards, and (ARM) boards with DFU enabled.
>
> For tested Trats2 and Odroid X2/XU3 devices, this was done in four steps.
>
> 1. Enable the arch memcpy and memset - ARCH specific
>
> 2. Enable arch memset for .bss clear - ARCH specific
>
> 3. Reduce the .bss section small as possible by: (board specific)
>    - remove static dfu buffer (32MiB in .bss - Trats2), and use malloc
>
> 4. Skip zeroing the memory reserved for malloc at malloc init.
>     For Trats2 it was 80MiB of memory.
>
> The .bss section will grow if we have a lot of static variables.
> This section is cleared before jump to the relocated U-Boot,
> and it was done word by word. To reduce the time for this step,
> we can enable arch memset, which uses multiple ARM registers.
>
> For configs with DFU enabled, we can find the dfu buffer in this section,
> which has at least 8MB (32MB for Trats2). This is a lot of useless data,
> which is not required for standard boot. So this buffer should be dynamic
> allocated.
>
> So, actually the all was about unnecessary operations on 'big' data.
>
> Przemyslaw Marczak (7):
>    exynos: config: enable arch memcpy and arch memset
>    arm: relocation: clear .bss section with arch memset if defined
>    dfu: mmc: file buffer: remove static allocation
>    dlmalloc: do memset in malloc init as new default config
>    trats2: defconfig: disable memset at malloc init
>    odroid: defconfig: disable memset at malloc init
>    odroid-xu3: defconfig: disable memset at malloc init
>
>   Kconfig                         | 32 +++++++++++++++++++++++++-------
>   arch/arm/lib/crt0.S             | 10 +++++++++-
>   common/dlmalloc.c               | 10 +++++++---
>   configs/odroid-xu3_defconfig    |  2 ++
>   configs/odroid_defconfig        |  1 +
>   configs/trats2_defconfig        |  1 +
>   drivers/dfu/dfu_mmc.c           | 25 ++++++++++++++++++++++---
>   include/configs/exynos-common.h |  3 +++
>   8 files changed, 70 insertions(+), 14 deletions(-)
>

If you will merge this patchset, please take also this one patch:

http://patchwork.ozlabs.org/patch/440623/

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


More information about the U-Boot mailing list