Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753856AbbHaQlT (ORCPT ); Mon, 31 Aug 2015 12:41:19 -0400 Received: from mail-ig0-f177.google.com ([209.85.213.177]:37105 "EHLO mail-ig0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753422AbbHaQlR (ORCPT ); Mon, 31 Aug 2015 12:41:17 -0400 From: Stephane Eranian To: linux-kernel@vger.kernel.org Cc: acme@redhat.com, peterz@infradead.org, mingo@elte.hu, ak@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, kan.liang@intel.com, dsahern@gmail.com, adrian.hunter@intel.com Subject: [PATCH v2 0/4] perf: improve script and record for iregs and brstack Date: Mon, 31 Aug 2015 18:41:09 +0200 Message-Id: <1441039273-16260-1-git-send-email-eranian@google.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2676 Lines: 63 This short series of patches improves perf record and perf script support for interrupted machine state and branch stack. this makes it easier to postprocess the data and narrow down the volume and limit the overhead of capturing interrupt machine state registers. For some analysis, only a subset of the registers is useful. Changes: - Make --intr-regs accept register names to limit volume of data collected - Make perf script print interrupted machine register values with -F iregs - Make perf script print branch stack content with -F brstack $ perf record --intr-regs=\? available registers: AX BX CX DX SI DI BP SP IP FLAGS CS SS R8 R9 R10 R11 R12 R13 R14 R15 ... $ perf record --intr-regs=ax,bx,cx,dx,si .... $ perf script -F ip,iregs 40afc2 AX:0x6c5770 BX:0x1e CX:0x5f4d80a DX:0x101010101010101 SI:0x1 $ perf script -F ip,brstack 5d3000 0x401aa0/0x5d2000/M/-/-/-/0 ... $ perf script -F ip,brstacksym 4011e0 noploop+0x0/noploop+0x0/P/-/-/0 In V2, perf script adds brstacksym option to print the branch stack using symbolic names for the from and to addresses. The brstack prints only raw addresses. For each entry, the branch stacks flags are decoded, including the latency for Skylake systems. The patch is rebased to tip.fit 4.2.0-rc7. Stephane Eranian (4): perf script: enable printing of interrupted machine state perf/x86: add list of register names perf record: add ability to name registers to record perf script: enable printing of branch stack tools/perf/Documentation/perf-record.txt | 6 +- tools/perf/Documentation/perf-script.txt | 14 +++- tools/perf/arch/x86/util/Build | 1 + tools/perf/arch/x86/util/perf_regs.c | 31 +++++++++ tools/perf/builtin-record.c | 7 +- tools/perf/builtin-script.c | 111 ++++++++++++++++++++++++++++++- tools/perf/perf.h | 2 +- tools/perf/util/Build | 1 + tools/perf/util/evsel.c | 2 +- tools/perf/util/parse-regs-options.c | 71 ++++++++++++++++++++ tools/perf/util/parse-regs-options.h | 5 ++ tools/perf/util/perf_regs.h | 7 ++ 12 files changed, 250 insertions(+), 8 deletions(-) create mode 100644 tools/perf/arch/x86/util/perf_regs.c create mode 100644 tools/perf/util/parse-regs-options.c create mode 100644 tools/perf/util/parse-regs-options.h -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/