[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160512130942.GH20258@kernel.org>
Date: Thu, 12 May 2016 10:09:42 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: He Kuang <hekuang@...wei.com>
Cc: peterz@...radead.org, mingo@...hat.com,
alexander.shishkin@...ux.intel.com, jolsa@...hat.com,
wangnan0@...wei.com, jpoimboe@...hat.com, ak@...ux.intel.com,
eranian@...gle.com, namhyung@...nel.org, adrian.hunter@...el.com,
sukadev@...ux.vnet.ibm.com, masami.hiramatsu.pt@...achi.com,
tumanova@...ux.vnet.ibm.com, kan.liang@...el.com,
penberg@...nel.org, dsahern@...il.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/7] perf tools: Store vdso buildid unconditionally
Em Thu, May 12, 2016 at 08:43:11AM +0000, He Kuang escreveu:
> When unwinding callchains on a different machine, vdso info should be
> provided so the unwind process won't be interrupted if address falls
> into vdso region. But in most cases, the addresses of sample events
> are not in vdso range, the buildid of a zero hit vdso won't be stored
> into perf.data.
>
> This patch stores vdso buildid regardless of whether the vdso is hit
> or not.
Looks ok, applied.
> Signed-off-by: He Kuang <hekuang@...wei.com>
> ---
> tools/perf/util/build-id.c | 2 +-
> tools/perf/util/dso.c | 3 ++-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
> index 0573c2e..bdc7580 100644
> --- a/tools/perf/util/build-id.c
> +++ b/tools/perf/util/build-id.c
> @@ -256,7 +256,7 @@ static int machine__write_buildid_table(struct machine *machine, int fd)
> size_t name_len;
> bool in_kernel = false;
>
> - if (!pos->hit)
> + if (!pos->hit && !dso__is_vdso(pos))
> continue;
>
> if (dso__is_vdso(pos)) {
> diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
> index 8e639543..b39b80c 100644
> --- a/tools/perf/util/dso.c
> +++ b/tools/perf/util/dso.c
> @@ -7,6 +7,7 @@
> #include "auxtrace.h"
> #include "util.h"
> #include "debug.h"
> +#include "vdso.h"
>
> char dso__symtab_origin(const struct dso *dso)
> {
> @@ -1169,7 +1170,7 @@ bool __dsos__read_build_ids(struct list_head *head, bool with_hits)
> struct dso *pos;
>
> list_for_each_entry(pos, head, node) {
> - if (with_hits && !pos->hit)
> + if (with_hits && !pos->hit && !dso__is_vdso(pos))
> continue;
> if (pos->has_build_id) {
> have_build_id = true;
> --
> 1.8.5.2
Powered by blists - more mailing lists