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

Simon Glass sjg at chromium.org
Mon Sep 22 15:49:20 PDT 2025


Hi J,

On Sun, 21 Sept 2025 at 04:31, J. Neuschäfer <j.ne at posteo.net> wrote:
>
> 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.

Ah yes, will fix in v3, thanks.

>
> >
> >      # 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 :)
>

Regards,
Simon



More information about the linux-arm-kernel mailing list