[PATCH v2 2/2] scripts/make_fit: Speed up operation

J. Neuschäfer j.ne at posteo.net
Sun Sep 21 03:31:21 PDT 2025


On Fri, Sep 19, 2025 at 04:46:25PM -0600, Simon Glass wrote:
> The kernel is likely at least 16MB so we may as well use that as a step
> size when reallocating space for the FIT in memory. Pack the FIT at the
> end, so there is no wasted space.
> 
> This reduces the time to pack by an order of magnitude, or so.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> 
> ---
> 
> (no changes since v1)
> 
>  scripts/make_fit.py | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/make_fit.py b/scripts/make_fit.py
> index b4caa127d2c3..904f45088978 100755
> --- a/scripts/make_fit.py
> +++ b/scripts/make_fit.py
> @@ -100,7 +100,7 @@ def setup_fit(fsw, name):
>          fsw (libfdt.FdtSw): Object to use for writing
>          name (str): Name of kernel image
>      """
> -    fsw.INC_SIZE = 65536
> +    fsw.INC_SIZE = 16 << 20
>      fsw.finish_reservemap()
>      fsw.begin_node('')
>      fsw.property_string('description', f'{name} with devicetree set')
> @@ -330,10 +330,12 @@ def build_fit(args):
>  
>          entries.append([model, compat, files_seq])
> 

> -    finish_fit(fsw, entries)
> +    finish_fit(fsw, entries, bool(args.ramdisk))

It seems like this line should rather go into the previous patch.

>  
>      # Include the kernel itself in the returned file count
> -    return fsw.as_fdt().as_bytearray(), seq + 1, size
> +    fdt = fsw.as_fdt()
> +    fdt.pack()
> +    return fdt.as_bytearray(), seq + 1, size

The rest looks good to me. Easy optimization, big win :)


Best regards,
J. Neuschäfer



More information about the linux-arm-kernel mailing list