[PATCH 0/5] perf/sdt: Argument support for x86 and powepc

From: Ravi Bangoria
Date: Thu Feb 02 2017 - 06:13:26 EST


The v5 patchset for sdt marker argument support for x86 [1] has
couple of issues. For example, it still has x86 specific code
in general code. It lacks support for rNN (with size postfix
b/w/d), %rsp, %esp, %sil etc. registers and such sdt markers
are failing at 'perf probe'. It also fails to convert arguments
having no offset but still surrounds register with parenthesis
for ex. 8@(%rdi) is converted to +(%di):u64 which is rejected
by uprobe_events. It's causing failure at 'perf probe' for all
SDT events on all archs except x86. With this patchset, I've
solved these issues. (patch 2,3)

Also, existing perf shows misleading message when user tries to
record sdt event without probing it. I've prepared patch for
the same. (patch 1)

Apart from that, I've also added logic to support arguments with
sdt marker on powerpc. (patch 4)

There are cases where uprobe definition of sdt event goes beyond
current limit MAX_CMDLEN (256) and in such case perf fails with
seg fault. I've solve this issue. (patch 5)

Note: This patchset is prepared on top of Alexis' v5 series.[1]

[1] http://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1292251.html

Ravi Bangoria (5):
perf/sdt: Show proper hint
perf/sdt/x86: Add renaming logic for rNN and other registers
perf/sdt/x86: Move OP parser to tools/perf/arch/x86/
perf/sdt/powerpc: Add argument support
perf/probe: Change MAX_CMDLEN

tools/lib/api/fs/tracing_path.c | 16 +++-
tools/perf/arch/powerpc/util/perf_regs.c | 115 ++++++++++++++++++++++++++
tools/perf/arch/x86/util/perf_regs.c | 137 ++++++++++++++++++++++++++++---
tools/perf/util/perf_regs.c | 9 +-
tools/perf/util/perf_regs.h | 7 +-
tools/perf/util/probe-event.c | 1 -
tools/perf/util/probe-file.c | 129 ++++++++---------------------
7 files changed, 294 insertions(+), 120 deletions(-)

--
2.9.3