From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tan Xiaojun Subject: [PATCH 0/6] perf tools: Add support for some spe events and precise ip Date: Wed, 18 Dec 2019 15:54:49 +0800 Message-ID: <20191218075455.5106-1-tanxiaojun@huawei.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Sender: linux-kernel-owner@vger.kernel.org To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org, alexander.shishkin@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, ak@linux.intel.com, adrian.hunter@intel.com, yao.jin@linux.intel.com, tmricht@linux.ibm.com, brueckner@linux.ibm.com, songliubraving@fb.com, gregkh@linuxfoundation.org, kim.phillips@arm.com, James.Clark@arm.com, jeremy.linton@arm.com Cc: gengdongjiu@huawei.com, wxf.wang@hisilicon.com, liwei391@huawei.com, tanxiaojun@huawei.com, liuqi115@hisilicon.com, huawei.libin@huawei.com, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org List-Id: linux-perf-users.vger.kernel.org After the commit ffd3d18c20b8 ("perf tools: Add ARM Statistical Profiling Extensions (SPE) support") is merged, "perf record" and "perf report --dump-raw-trace" have been supported. However, the raw data that is dumped cannot be used without parsing. This patchset is to improve the "perf report" support for spe, and further process the data. Currently, support for the three events of llc-miss, tlb-miss, branch-miss and remote-access is added. The macro definition was modified under Jeremy's suggestion, and the "event:pp" approach was used under James' suggestion to achieve the precise ip of some events on arm64. Currently, only branch-misses are implemented, and other event support will be added later. In addition, we also found that when recording large multi-threaded programs, ctrl + c could not end recording, so it was fixed and two patches were added. Tan Xiaojun (4): perf tools: Move arm-spe-pkt-decoder.h/c to the new dir perf tools: Add support for "report" for some spe events perf report: Add --spe options for arm-spe perf tools: Support "branch-misses:pp" on arm64 Wei Li (2): perf tools: add perf_evlist__terminate() for terminate perf tools: arm-spe: fix record hang after being terminated tools/perf/Documentation/perf-report.txt | 10 + tools/perf/arch/arm64/util/arm-spe.c | 10 +- tools/perf/builtin-record.c | 1 + tools/perf/builtin-report.c | 5 + tools/perf/util/Build | 2 +- tools/perf/util/arm-spe-decoder/Build | 1 + .../util/arm-spe-decoder/arm-spe-decoder.c | 225 +++++ .../util/arm-spe-decoder/arm-spe-decoder.h | 66 ++ .../arm-spe-pkt-decoder.c | 0 .../arm-spe-pkt-decoder.h | 2 + tools/perf/util/arm-spe.c | 788 +++++++++++++++++- tools/perf/util/arm-spe.h | 3 + tools/perf/util/auxtrace.c | 49 ++ tools/perf/util/auxtrace.h | 29 + tools/perf/util/evlist.c | 16 + tools/perf/util/evlist.h | 1 + tools/perf/util/evsel.h | 1 + tools/perf/util/session.h | 2 + 18 files changed, 1169 insertions(+), 42 deletions(-) create mode 100644 tools/perf/util/arm-spe-decoder/Build create mode 100644 tools/perf/util/arm-spe-decoder/arm-spe-decoder.c create mode 100644 tools/perf/util/arm-spe-decoder/arm-spe-decoder.h rename tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.c (100%) rename tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.h (96%) -- 2.17.1