All of lore.kernel.org
 help / color / mirror / Atom feed
* libfdt update increase boot time
@ 2020-01-16 17:56 Patrice CHOTARD
  2020-01-16 18:09 ` Tom Rini
  2020-01-16 18:13 ` Simon Glass
  0 siblings, 2 replies; 3+ messages in thread
From: Patrice CHOTARD @ 2020-01-16 17:56 UTC (permalink / raw)
  To: u-boot

Hi All

Since the last sync of libfdt [1], boot time increase of 2.3 seconds on STM32MP1 dk2 board

On v2020.1 tag:

STM32MP> bootstage report
Timer summary in microseconds (9 records):
       Mark    Elapsed  Stage
          0          0  reset
    571,804    571,804  board_init_f
  3,535,935  2,964,131  board_init_r
  3,954,721    418,786  id=64
  4,006,006     51,285  id=65
  4,006,708        702  main_loop
  4,559,423    552,715  id=175

After reverting 'f0921f5098d8 (dt: Sync up to the latest libfdt)', boot time was restored:

STM32MP>  bootstage report
Timer summary in microseconds (9 records):
       Mark    Elapsed  Stage
          0          0  reset
    568,918    568,918  board_init_f
  1,801,471  1,232,553  board_init_r
  2,074,570    273,099  id=64
  2,101,242     26,672  id=65
  2,101,944        702  main_loop
  3,229,354  1,127,410  id=175

After some investigation, the new implementation of fdt32_ld() is responsible of this time consuming.

Same issue has been already encountered on TF-A side [2]. TF-A community has decided to not update libfdt with v1.4.7

and stayed on the previous one v1.4.6 to avoid similar regression.


Thanks

Patrice


[1] https://patchwork.ozlabs.org/cover/1185039/

[2] https://github.com/dgibson/dtc/issues/19

^ permalink raw reply	[flat|nested] 3+ messages in thread

* libfdt update increase boot time
  2020-01-16 17:56 libfdt update increase boot time Patrice CHOTARD
@ 2020-01-16 18:09 ` Tom Rini
  2020-01-16 18:13 ` Simon Glass
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2020-01-16 18:09 UTC (permalink / raw)
  To: u-boot

On Thu, Jan 16, 2020 at 05:56:27PM +0000, Patrice CHOTARD wrote:
> Hi All
> 
> Since the last sync of libfdt [1], boot time increase of 2.3 seconds on STM32MP1 dk2 board
> 
> On v2020.1 tag:
> 
> STM32MP> bootstage report
> Timer summary in microseconds (9 records):
>        Mark    Elapsed  Stage
>           0          0  reset
>     571,804    571,804  board_init_f
>   3,535,935  2,964,131  board_init_r
>   3,954,721    418,786  id=64
>   4,006,006     51,285  id=65
>   4,006,708        702  main_loop
>   4,559,423    552,715  id=175
> 
> After reverting 'f0921f5098d8 (dt: Sync up to the latest libfdt)', boot time was restored:
> 
> STM32MP>  bootstage report
> Timer summary in microseconds (9 records):
>        Mark    Elapsed  Stage
>           0          0  reset
>     568,918    568,918  board_init_f
>   1,801,471  1,232,553  board_init_r
>   2,074,570    273,099  id=64
>   2,101,242     26,672  id=65
>   2,101,944        702  main_loop
>   3,229,354  1,127,410  id=175
> 
> After some investigation, the new implementation of fdt32_ld() is responsible of this time consuming.
> 
> Same issue has been already encountered on TF-A side [2]. TF-A community has decided to not update libfdt with v1.4.7
> 
> and stayed on the previous one v1.4.6 to avoid similar regression.
> 
> 
> Thanks
> 
> Patrice
> 
> 
> [1] https://patchwork.ozlabs.org/cover/1185039/
> 
> [2] https://github.com/dgibson/dtc/issues/19

Ugh, this looks to be related to
https://www.spinics.net/lists/devicetree-compiler/msg02230.html and thus
the platform doing something wrong.  I'm going to chime in.  As an
interim step can you please post a patch that reverts the two upstream
changes and brings back the old behavior?  That way I'll hopefully not
let this slip my mind to make sure gets fixed here.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200116/e3ff97f7/attachment.sig>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* libfdt update increase boot time
  2020-01-16 17:56 libfdt update increase boot time Patrice CHOTARD
  2020-01-16 18:09 ` Tom Rini
@ 2020-01-16 18:13 ` Simon Glass
  1 sibling, 0 replies; 3+ messages in thread
From: Simon Glass @ 2020-01-16 18:13 UTC (permalink / raw)
  To: u-boot

Hi Patrice,

On Fri, 17 Jan 2020 at 06:56, Patrice CHOTARD <patrice.chotard@st.com> wrote:
>
> Hi All
>
> Since the last sync of libfdt [1], boot time increase of 2.3 seconds on STM32MP1 dk2 board
>
> On v2020.1 tag:
>
> STM32MP> bootstage report
> Timer summary in microseconds (9 records):
>        Mark    Elapsed  Stage
>           0          0  reset
>     571,804    571,804  board_init_f
>   3,535,935  2,964,131  board_init_r
>   3,954,721    418,786  id=64
>   4,006,006     51,285  id=65
>   4,006,708        702  main_loop
>   4,559,423    552,715  id=175
>
> After reverting 'f0921f5098d8 (dt: Sync up to the latest libfdt)', boot time was restored:
>
> STM32MP>  bootstage report
> Timer summary in microseconds (9 records):
>        Mark    Elapsed  Stage
>           0          0  reset
>     568,918    568,918  board_init_f
>   1,801,471  1,232,553  board_init_r
>   2,074,570    273,099  id=64
>   2,101,242     26,672  id=65
>   2,101,944        702  main_loop
>   3,229,354  1,127,410  id=175
>
> After some investigation, the new implementation of fdt32_ld() is responsible of this time consuming.
>
> Same issue has been already encountered on TF-A side [2]. TF-A community has decided to not update libfdt with v1.4.7
>
> and stayed on the previous one v1.4.6 to avoid similar regression.

I think it would be worth having an option to use a simple read
instead of the unaligned handling of fdt32_ld. We could have it as an
assumption, e.g. fdt_chk_alignment().

Regards,
Simon


>
>
> Thanks
>
> Patrice
>
>
> [1] https://patchwork.ozlabs.org/cover/1185039/
>
> [2] https://github.com/dgibson/dtc/issues/19
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-16 18:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-16 17:56 libfdt update increase boot time Patrice CHOTARD
2020-01-16 18:09 ` Tom Rini
2020-01-16 18:13 ` Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.