
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
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!