[U-Boot] [PATCH v2 3/8] dfu: mmc: file buffer: remove static allocation

Simon Glass sjg at chromium.org
Wed Feb 18 05:32:07 CET 2015


On 16 February 2015 at 08:13, Przemyslaw Marczak <p.marczak at samsung.com> wrote:
> For writing files, DFU implementation requires the file buffer
> with the len at least of file size. For big files it requires
> the same big buffer.
>
> Previously the file buffer was allocated as a static variable,
> so it was a part of U-Boot .bss section. For 32MiB len of buffer
> we have 32MiB of additional space, required for this section.
>
> The .bss needs to be cleared after the relocation.
> This introduces an additional boot delay at every start, but usually
> the dfu feature is not required at the standard boot, so the buffer
> should be allocated only if required.
>
> This patch removes the static allocation of this buffer,
> and alloc it with memalign after first call of function:
> - dfu_fill_entity_mmc()
> and the buffer is freed on dfu_free_entity() call.
>
> This was tested on Trats2.
> A quick test with trace. Boot time from start to main_loop() entry:
> - ~888ms - before this change (arch memset enabled for .bss clear)
> - ~464ms - after this change
>

Wow.

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list