[PATCH v4] perf: Split out arch specific code & improve PowerPC perf probe support
Ian Munsie
imunsie at au1.ibm.com
Tue Apr 20 16:58:31 EST 2010
Here's the 4th version of the perf probe PowerPC support and perf arch specific
infrastructure patches rebased on top of tip/perf/core.
Changelog V4:
* Rebased on top of tip/perf/core (with powerpc/next merged) and resolved merge
conflicts.
* Move the check for DWARF support prior to the inclusion of the arch
specific Makefile so that the arch specific Makefile can include the relevant
files in the build only if DWARF support is available.
* Fix NO_DWARF build on x86 and PowerPC
Changelog V3:
From Masami Hiramatsu's feedback DWARF support is disabled altogether if the
architecture specific Makefile does not define PERF_HAVE_DWARF_REGS - ie,
DWARF register mappings are missing for the architecture. A message
indicating this is printed out during compilation.
Changelog V2:
From Masami Hiramatsu's suggestion, I added a check in the Makefile for if
the arch specific Makefile defines PERF_HAVE_DWARF_REGS, printing a message
during build if it has not. This simplifies the code removing the odd macro
from the previous version and the need for an arch specific
arch_dwarf-regs.h. I have not entirely disabled DWARF support for
architectures that don't implement the register mappings, so that they can
still add a probe based on a line number (they will be missing the ability to
capture the value of a variable from a register).
These patches add the required mappings to use perf probe on PowerPC.
Part 1 of the patch series moves the arch dependent x86 32 and 64 bit DWARF
register number mappings out into a separate arch directory and adds the
necessary Makefile foo to use it.
Part 2 of the patch series adds the PowerPC mappings -
Functionality wise it requires the patch titled "powerpc: Add kprobe-based
event tracer" from the powerpc-next tree to provide the
HAVE_REGS_AND_STACK_ACCESS_API required for CONFIG_KPROBE_EVENT. The code will
still compile cleanly without it and will fail gracefully at runtime on the
missing CONFIG_KPROBE_EVENT support as before as well as printing a warning
message during compilation.
More information about the Linuxppc-dev
mailing list