From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932182AbcELNJ7 (ORCPT ); Thu, 12 May 2016 09:09:59 -0400 Received: from mail.kernel.org ([198.145.29.136]:40052 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752804AbcELNJq (ORCPT ); Thu, 12 May 2016 09:09:46 -0400 Date: Thu, 12 May 2016 10:09:42 -0300 From: Arnaldo Carvalho de Melo To: He Kuang Cc: peterz@infradead.org, mingo@redhat.com, alexander.shishkin@linux.intel.com, jolsa@redhat.com, wangnan0@huawei.com, jpoimboe@redhat.com, ak@linux.intel.com, eranian@google.com, namhyung@kernel.org, adrian.hunter@intel.com, sukadev@linux.vnet.ibm.com, masami.hiramatsu.pt@hitachi.com, tumanova@linux.vnet.ibm.com, kan.liang@intel.com, penberg@kernel.org, dsahern@gmail.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 2/7] perf tools: Store vdso buildid unconditionally Message-ID: <20160512130942.GH20258@kernel.org> References: <1463042596-61703-1-git-send-email-hekuang@huawei.com> <1463042596-61703-3-git-send-email-hekuang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1463042596-61703-3-git-send-email-hekuang@huawei.com> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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