* 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.