[PATCH v2] bootstage: Show func name for bootstage_mark/error

Michal Simek monstr at monstr.eu
Sat Aug 13 07:39:40 CEST 2022


so 13. 8. 2022 v 4:21 odesílatel Simon Glass <sjg at chromium.org> napsal:
>
> Hi Michal,
>
> On Fri, 12 Aug 2022 at 02:55, Michal Simek <michal.simek at amd.com> wrote:
> >
> > bootstage_mark() and bootstate_error() are not recording any name and in
> > report it is showing as id=<value>. That's not useful and it is better to
> > show function name which calls it.
> > That's why use macros with passing __func__ as recorded name for bootstage.
> >
> > Origin report looks like this:
> > ZynqMP> bootstage report
> > Timer summary in microseconds (10 records):
> >        Mark    Elapsed  Stage
> >           0          0  reset
> >   2,482,383  2,482,383  board_init_f
> >   4,278,821  1,796,438  board_init_r
> >   4,825,331    546,510  id=64
> >   4,858,409     33,078  id=65
> >   4,862,382      3,973  main_loop
> >   4,921,713     59,331  usb_start
> >   9,345,345  4,423,632  id=175
> >
> > When this patch is applied.
> > ZynqMP> bootstage report
> > Timer summary in microseconds (31 records):
> >        Mark    Elapsed  Stage
> >           0          0  reset
> >   2,465,624  2,465,624  board_init_f
> >   4,278,628  1,813,004  board_init_r
> >   4,825,139    546,511  eth_common_init
> >   4,858,228     33,089  eth_initialize
> >   4,862,201      3,973  main_loop
> >   4,921,530     59,329  usb_start
> >   8,885,334  3,963,804  cli_loop
> >
> > Signed-off-by: Michal Simek <michal.simek at amd.com>
> > ---
> >
> > Changes in v2:
> > - Add kernel-doc description
> >
> >  common/bootstage.c  | 10 ++--------
> >  include/bootstage.h | 21 ++++++++++++++++++---
> >  2 files changed, 20 insertions(+), 11 deletions(-)
>
> I can see what is going on here after applying it.
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> But I think it would be better as inline functions rather than #define

I was trying static inline functions but __func__ is using bootstage
names instead of the function
which is calling them. Maybe there is another function specifier which
can be used to do the same job
as macros.

Thanks,
Michal


More information about the U-Boot mailing list