[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM9d7cji1Mtqap+TbMRn6ZeBb1v4ykKv4uBQxKtCQ3Zv9vY_jg@mail.gmail.com>
Date: Thu, 11 Nov 2021 20:04:35 -0800
From: Namhyung Kim <namhyung@...nel.org>
To: Ian Rogers <irogers@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...hat.com>,
Martin Liška <mliska@...e.cz>,
James Clark <james.clark@....com>,
Kajol Jain <kjain@...ux.ibm.com>,
linux-perf-users <linux-perf-users@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH 1/3] perf symbols: Add documentation to struct symbol.
Hi Ian,
On Thu, Nov 11, 2021 at 7:51 PM Ian Rogers <irogers@...gle.com> wrote:
>
> Refactor some existing comments and then infer the rest.
>
> Signed-off-by: Ian Rogers <irogers@...gle.com>
For all 3 patches,
Acked-by: Namhyung Kim <namhyung@...nel.org>
Thanks,
Namhyung
> ---
> tools/perf/util/symbol.h | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
> index 166196686f2e..3586fa549f44 100644
> --- a/tools/perf/util/symbol.h
> +++ b/tools/perf/util/symbol.h
> @@ -40,22 +40,33 @@ Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep,
> GElf_Shdr *shp, const char *name, size_t *idx);
> #endif
>
> -/** struct symbol - symtab entry
> - *
> - * @ignore - resolvable but tools ignore it (e.g. idle routines)
> +/**
> + * A symtab entry. When allocated this may be preceded by an annotation (see
> + * symbol__annotation), a browser_index (see symbol__browser_index) and rb_node
> + * to sort by name (see struct symbol_name_rb_node).
> */
> struct symbol {
> struct rb_node rb_node;
> + /** Range of symbol [start, end). */
> u64 start;
> u64 end;
> + /** Length of the string name. */
> u16 namelen;
> + /** ELF symbol type as defined for st_info. E.g STT_OBJECT or STT_FUNC. */
> u8 type:4;
> + /** ELF binding type as defined for st_info. E.g. STB_WEAK or STB_GLOBAL. */
> u8 binding:4;
> + /** Set true for kernel symbols of idle routines. */
> u8 idle:1;
> + /** Resolvable but tools ignore it (e.g. idle routines). */
> u8 ignore:1;
> + /** Symbol for an inlined function. */
> u8 inlined:1;
> + /** Architecture specific. Unused except on PPC where it holds st_other. */
> u8 arch_sym;
> + /** Has symbol__annotate2 been performed. */
> bool annotate2;
> + /** The name of length namelen associated with the symbol. */
> char name[];
> };
>
> --
> 2.34.0.rc1.387.gb447b232ab-goog
>
Powered by blists - more mailing lists