[PATCH 00/33] stm32: enable logging features

Patrick DELAUNAY patrick.delaunay at st.com
Thu Oct 15 17:59:08 CEST 2020


Hi Simon,

> From: Simon Glass <sjg at chromium.org>
> Sent: jeudi 15 octobre 2020 17:06
> 
> Hi Patrick,
> 
> On Wed, 14 Oct 2020 at 03:16, Patrick Delaunay <patrick.delaunay at st.com>
> wrote:
> >
> >
> > This patch-set migrates several stm32 drivers to API compatible with
> > logging features (use dev_...() or log_...() function) and activate
> > the logging features in STM32MP15 boards.
> >
> > The size of U-Boot increased by 19kB (933026 to 952830 on
> > STM32MP157C-EV1 board for basic defconfig) but the boot time don't change
> drastically.
> 
> >
> > For example on STM32MP157C-EV1 board:
> >
> > 1/ Before LOG patchset
> >
> > Timer summary in microseconds (12 records):
> >        Mark    Elapsed  Stage
> >           0          0  reset
> >     224,514    224,514  SPL
> >     961,170    736,656  end SPL
> >     964,006      2,836  board_init_f
> >   1,186,986    222,980  board_init_r
> >   1,651,379    464,393  id=64
> >   1,674,463     23,084  id=65
> >   1,675,164        701  main_loop
> >   4,025,806  2,350,642  id=175
> >
> > Accumulated time:
> >                 55,064  dm_f
> >                 66,749  dm_r
> >                 88,796  dm_spl
> >
> > 2/ With LOG activated (after this patchset)
> >
> > Timer summary in microseconds (12 records):
> >        Mark    Elapsed  Stage
> >           0          0  reset
> >     227,142    227,142  SPL
> >     984,585    757,443  end SPL
> >     987,579      2,994  board_init_f
> >   1,210,091    222,512  board_init_r
> >   1,673,354    463,263  id=64
> >   1,696,073     22,719  id=65
> >   1,696,775        702  main_loop
> >   5,443,104  3,746,329  id=175
> >
> > Accumulated time:
> >                 62,154  dm_f
> >                 66,264  dm_r
> >                 89,376  dm_spl
> >
> > For information even with all trace embbeded in U-Boot but not
> > activated, MAX_LOG_LEVEL=8 and LOG_DEFAULT_LEVEL=6
> >
> > Size increase by 190KB (952830 to 1147918) but boot time is stable
> > (1,748s vs 1,696s).
> 
> This seems pretty bad. Is this because of console output, or something else? I
> understand the size increase, but not the boot time increase.

For this last point I just execute STM32MP157C-EV1 boot 
with a patch in configs/stm32mp15_basic_defconfig

+CONFIG_LOGLEVEL=8
+CONFIG_LOG_MAX_LEVEL=8
+CONFIG_LOG_DEFAULT_LEVEL=6
+CONFIG_LOGF_FILE=y
+CONFIG_LOGF_LINE=y
+CONFIG_LOGF_FUNC=y

And execute "bootstage report" after the second boot
(the first boot is pertubated by env save)

I think the delta is linked to 
1/ size of U-Boot (SPL spent more time to load U-Boot)
    end of SPL 987,579  => 996,117

2/ time to check for each debug trace: because I increase the log level
   (gd->default_log_level = 6 < MAX_LOG_LEVEL=8)

3/ treatment added in log_console_emit (some printf) and
    log_dispatch (processing_msg / gd->loghead)

4/ lower cache performancy as trace code are pesent in memory even
    they are not used

Can I do some check/experimentation on my side ?

Patrick

> >
> > STM32MP> bootstage report
> > Timer summary in microseconds (12 records):
> >        Mark    Elapsed  Stage
> >           0          0  reset
> >     230,028    230,028  SPL
> >     996,117    766,089  end SPL
> >     999,082      2,965  board_init_f
> >   1,220,225    221,143  board_init_r
> >   1,718,641    498,416  id=64
> >   1,746,096     27,455  id=65
> >   1,748,202      2,106  main_loop
> >   4,509,271  2,761,069  id=175
> >
> > Accumulated time:
> >                 58,481  dm_f
> >                 68,881  dm_r
> >                 89,385  dm_spl
> >
> >
> >

(...)


More information about the U-Boot mailing list