Re: [PATCH] bloat-o-meter: ignore __addressable_ symbols

From: Andy Shevchenko
Date: Mon Nov 05 2018 - 09:40:34 EST


On Fri, Nov 02, 2018 at 10:00:25PM +0100, Rasmus Villemoes wrote:
> Since __LINE__ is part of the symbol created by __ADDRESSABLE, almost
> any change causes those symbols to disappear and get reincarnated, e.g.
>
> add/remove: 4/4 grow/shrink: 0/3 up/down: 32/-171 (-139)
> Function old new delta
> __addressable_tracing_set_default_clock8649 - 8 +8
> __addressable_tracer_init_tracefs8631 - 8 +8
> __addressable_ftrace_dump8383 - 8 +8
> __addressable_clear_boot_tracer8632 - 8 +8
> __addressable_tracing_set_default_clock8650 8 - -8
> __addressable_tracer_init_tracefs8632 8 - -8
> __addressable_ftrace_dump8384 8 - -8
> __addressable_clear_boot_tracer8633 8 - -8
> trace_default_header 663 642 -21
> tracing_mark_raw_write 406 355 -51
> tracing_mark_write 624 557 -67
> Total: Before=63889, After=63750, chg -0.22%
>
> They're small and in .discard, so ignore them, leading to more useful
>
> add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-139 (-139)
> Function old new delta
> trace_default_header 663 642 -21
> tracing_mark_raw_write 406 355 -51
> tracing_mark_write 624 557 -67
> Total: Before=63721, After=63582, chg -0.22%

Useful!

FWIW,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

>
> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
> ---
> scripts/bloat-o-meter | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter
> index a923f05edb36..8c965f6a9881 100755
> --- a/scripts/bloat-o-meter
> +++ b/scripts/bloat-o-meter
> @@ -32,6 +32,7 @@ def getsizes(file, format):
> if name.startswith("__mod_"): continue
> if name.startswith("__se_sys"): continue
> if name.startswith("__se_compat_sys"): continue
> + if name.startswith("__addressable_"): continue
> if name == "linux_banner": continue
> # statics and some other optimizations adds random .NUMBER
> name = re_NUMBER.sub('', name)
> --
> 2.19.1.6.gbde171bbf5
>

--
With Best Regards,
Andy Shevchenko