From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938380AbdEXGVh (ORCPT ); Wed, 24 May 2017 02:21:37 -0400 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:47420 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934596AbdEXGVd (ORCPT ); Wed, 24 May 2017 02:21:33 -0400 X-Original-SENDERIP: 156.147.1.127 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 10.177.227.17 X-Original-MAILFROM: namhyung@kernel.org From: Namhyung Kim To: Ingo Molnar Cc: LKML , kernel-team@lge.com, Arnaldo Carvalho de Melo , Jiri Olsa , Milian Wolff , Yao Jin Subject: [GIT PULL 0/7] perf/urgent callchain fixes Date: Wed, 24 May 2017 15:21:22 +0900 Message-Id: <20170524062129.32529-1-namhyung@kernel.org> X-Mailer: git-send-email 2.13.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ingo, Please consider pulling the perf tooling changes below. Build tested on Ubuntu, Fedora and Archlinux. I found a problem during `perf test` but it seems unrelated to this series. Will take a look it later. Thanks, Namhyung The following changes since commit 88b0193d9418c00340e45e0a913a0813bc6c8c96: perf/callchain: Force USER_DS when invoking perf_callchain_user() (2017-05-10 07:54:00 +0200) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf tags/perf-urgent-for-mingo-4.12-20170524 for you to fetch changes up to 37d4e1b6ba56773cef96122dff4436c2c534c381: perf tools: Fix to put caller above callee in children mode (2017-05-24 08:51:11 +0900) ---------------------------------------------------------------- perf/urgent fixes Fixes: - Fix segfault on `perf report -g srcline` if a callchain address cannot find a map for some reason. The srcline sorting mode needs a DSO to resolve line numbers and it's accessed via a map. But it should check if map is available for the address first. (Milian Wolff) - Fix off-by-one for srcline output. It passed (unwound) address to resolve srcline for callchains. But it's a return address of the function which points to a next instruction. This leads to off-by-one for srcline info. So pass the "address - 1" instead to get the correct srcline. This also considers "signal frame" as well which has the exact address, so pass the address directly in this case. (Milian Wolff) - Fix missing inlined function. Current code missed to display inlined functions at the end. This was found when comparing the output of addr2line and perf script. (Milian Wolff) User Visible: - `perf script` also gained `--inline` option to show inlined functions with callchains. This helped to find a bug in the current inline code. (Namhyung Kim) - Fix missed callchain ordering with `-g callee/caller` when libbfd is not available. (Milian Wolff) - Reorder output entries in `perf report --children` so that it can put parent entries above their children. It worked like this but missed when callchain display order was changed with `-g caller`. Now default is `-g caller` if children mode enabled. (Namhyung Kim) ---------------------------------------------------------------- Milian Wolff (5): perf report: don't crash on invalid maps in `-g srcline` mode perf report: fix memory leak in addr2line when called by addr2inlines perf report: fix off-by-one for non-activation frames perf report: always honor callchain order for inlined nodes perf report: do not drop last inlined frame Namhyung Kim (2): perf script: Add --inline option perf tools: Fix to put caller above callee in children mode tools/perf/Documentation/perf-script.txt | 4 +++ tools/perf/builtin-script.c | 2 ++ tools/perf/ui/hist.c | 2 ++ tools/perf/util/callchain.c | 13 ++++++--- tools/perf/util/evsel_fprintf.c | 33 +++++++++++++++++++++ tools/perf/util/srcline.c | 49 +++++++++++++++++--------------- tools/perf/util/unwind-libdw.c | 6 +++- tools/perf/util/unwind-libunwind-local.c | 11 +++++++ 8 files changed, 92 insertions(+), 28 deletions(-)