From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755301AbcETGnz (ORCPT ); Fri, 20 May 2016 02:43:55 -0400 Received: from terminus.zytor.com ([198.137.202.10]:50664 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754962AbcETGny (ORCPT ); Fri, 20 May 2016 02:43:54 -0400 Date: Thu, 19 May 2016 23:43:07 -0700 From: tip-bot for He Kuang Message-ID: Cc: penberg@kernel.org, adrian.hunter@intel.com, linux-kernel@vger.kernel.org, dsahern@gmail.com, mingo@kernel.org, namhyung@kernel.org, ak@linux.intel.com, jpoimboe@redhat.com, acme@redhat.com, jolsa@redhat.com, hekuang@huawei.com, alexander.shishkin@linux.intel.com, wangnan0@huawei.com, tumanova@linux.vnet.ibm.com, hpa@zytor.com, peterz@infradead.org, kan.liang@intel.com, eranian@google.com, tglx@linutronix.de, masami.hiramatsu.pt@hitachi.com, sukadev@linux.vnet.ibm.com Reply-To: masami.hiramatsu.pt@hitachi.com, sukadev@linux.vnet.ibm.com, eranian@google.com, tglx@linutronix.de, peterz@infradead.org, kan.liang@intel.com, hekuang@huawei.com, jolsa@redhat.com, alexander.shishkin@linux.intel.com, wangnan0@huawei.com, tumanova@linux.vnet.ibm.com, hpa@zytor.com, acme@redhat.com, namhyung@kernel.org, jpoimboe@redhat.com, ak@linux.intel.com, linux-kernel@vger.kernel.org, dsahern@gmail.com, mingo@kernel.org, penberg@kernel.org, adrian.hunter@intel.com In-Reply-To: <1463042596-61703-3-git-send-email-hekuang@huawei.com> References: <1463042596-61703-3-git-send-email-hekuang@huawei.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/urgent] perf symbols: Store vdso buildid unconditionally Git-Commit-ID: 6ae98ba611ed1c11ddc5645475bc03b46a3c04e7 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 6ae98ba611ed1c11ddc5645475bc03b46a3c04e7 Gitweb: http://git.kernel.org/tip/6ae98ba611ed1c11ddc5645475bc03b46a3c04e7 Author: He Kuang AuthorDate: Thu, 12 May 2016 08:43:11 +0000 Committer: Arnaldo Carvalho de Melo CommitDate: Mon, 16 May 2016 23:11:45 -0300 perf symbols: Store vdso buildid unconditionally When unwinding callchains on a different machine, vdso info should be available 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. Signed-off-by: He Kuang Cc: Adrian Hunter Cc: Alexander Shishkin Cc: Andi Kleen Cc: David Ahern Cc: Ekaterina Tumanova Cc: Jiri Olsa Cc: Josh Poimboeuf Cc: Kan Liang Cc: Masami Hiramatsu Cc: Namhyung Kim Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Sukadev Bhattiprolu Cc: Wang Nan Link: http://lkml.kernel.org/r/1463042596-61703-3-git-send-email-hekuang@huawei.com Signed-off-by: Arnaldo Carvalho de Melo --- 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 bff425e..67e5966 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 3357479..75b7561 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;