libfdt update increase boot time
    Patrice CHOTARD 
    patrice.chotard at st.com
       
    Thu Jan 16 18:56:27 CET 2020
    
    
  
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
    
    
More information about the U-Boot
mailing list