Re: [PATCHSET 0/9] perf annotate: More memory footprint reduction

From: Ian Rogers
Date: Fri Apr 05 2024 - 19:44:30 EST


On Thu, Apr 4, 2024 at 10:57 AM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> Hello,
>
> This work is continuation of the previous work to reduce the memory
> usage in symbol and annotation structures. Basically I moved some
> fields in the annotation which consume spaces in the struct symbol
> which is allocated regardless if the symbol has a sample or not when
> annotation is enabled.
>
> With this change applied, the struct annotation only has two members -
> annotated_source and annotated_branch. The next step would be to
> remove the struct annotation and to have a hash table from symbol to
> each annotated struct directly.
>
> No function changes intended.
>
> The code is available at perf/annotate-diet-v3 branch in
>
> git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
>
> Thanks,
> Namhyung
>
>
> Namhyung Kim (9):
> perf annotate: Fix annotation_calc_lines()
> perf annotate: Staticize some local functions
> perf annotate: Introduce annotated_source__get_line()
> perf annotate: Check annotation lines more efficiently
> perf annotate: Get rid of offsets array
> perf annotate: Move widths struct to annotated_source
> perf annotate: Move max_jump_sources struct to annotated_source
> perf annotate: Move nr_events struct to annotated_source
> perf annotate: Move start field struct to annotated_source

Series:

Tested-by: Ian Rogers <irogers@xxxxxxxxxx>

using -fsanitize=address. Only nit was noticing 4 bytes of padding.

Thanks,
Ian

> tools/perf/ui/browsers/annotate.c | 15 ++-
> tools/perf/util/annotate.c | 174 +++++++++++++++++-------------
> tools/perf/util/annotate.h | 39 +++----
> 3 files changed, 123 insertions(+), 105 deletions(-)
>
>
> base-commit: b6347cb5e04e9c1d17342ab46e2ace2d448de727
> --
> 2.44.0.478.gd926399ef9-goog
>