Message ID | 20220525154114.718321-1-james.clark@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | perf: arm64: Tools support for Dwarf unwinding through SVE functions | expand |
Em Wed, May 25, 2022 at 04:41:09PM +0100, James Clark escreveu: > Changes since v2: > * Add commit to fix header include path to use Perf's copy > * Apply Leo's review tags > > When SVE registers are pushed onto the stack the VG register is required to > unwind because the stack offsets would vary by the SVE register width at the > time when the sample was taken. > > The patches ("[PATCH v2 0/2] perf: arm64: Kernel support for Dwarf unwinding > through SVE functions") add support for sampling the VG register to the kernel > and the docs. This is the patchset to add support to userspace perf. > > A small change is also required to libunwind or libdw depending on which > unwinder is used, and these will be published later. Without these changes Perf > continues to work with both libraries, although the VG register is still not > used for unwinding. Thanks, applied. - Arnaldo > Thanks > James > > James Clark (5): > perf tools: arm64: Use perf's copy of kernel headers > perf tools: arm64: Copy perf_regs.h from the kernel > perf tools: Use dynamic register set for Dwarf unwind > perf tools: arm64: Decouple Libunwind register names from Perf > perf tools: arm64: Add support for VG register > > tools/arch/arm64/include/uapi/asm/perf_regs.h | 7 +- > tools/perf/arch/arm64/util/perf_regs.c | 34 +++++++++ > tools/perf/arch/arm64/util/unwind-libunwind.c | 73 +------------------ > tools/perf/util/evsel.c | 2 +- > tools/perf/util/libunwind/arm64.c | 2 +- > tools/perf/util/perf_regs.c | 2 + > 6 files changed, 46 insertions(+), 74 deletions(-) > > -- > 2.28.0
On 26/05/2022 16:23, Arnaldo Carvalho de Melo wrote: > Em Wed, May 25, 2022 at 04:41:09PM +0100, James Clark escreveu: >> Changes since v2: >> * Add commit to fix header include path to use Perf's copy >> * Apply Leo's review tags >> >> When SVE registers are pushed onto the stack the VG register is required to >> unwind because the stack offsets would vary by the SVE register width at the >> time when the sample was taken. >> >> The patches ("[PATCH v2 0/2] perf: arm64: Kernel support for Dwarf unwinding >> through SVE functions") add support for sampling the VG register to the kernel >> and the docs. This is the patchset to add support to userspace perf. >> >> A small change is also required to libunwind or libdw depending on which >> unwinder is used, and these will be published later. Without these changes Perf >> continues to work with both libraries, although the VG register is still not >> used for unwinding. > > Thanks, applied. > > - Arnaldo Hi Arnaldo, Will has applied the kernel side here: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?h=for-next/perf&id=cbb0c02caf4bd98b9e0cd6d7420734b8e9a35703 There was a small change in the formatting in perf_regs.h, but the values are all the same. So in theory it's fine to leave Perf's copy until the next update, although it is a bit weird. Thanks James > > >> Thanks >> James >> >> James Clark (5): >> perf tools: arm64: Use perf's copy of kernel headers >> perf tools: arm64: Copy perf_regs.h from the kernel >> perf tools: Use dynamic register set for Dwarf unwind >> perf tools: arm64: Decouple Libunwind register names from Perf >> perf tools: arm64: Add support for VG register >> >> tools/arch/arm64/include/uapi/asm/perf_regs.h | 7 +- >> tools/perf/arch/arm64/util/perf_regs.c | 34 +++++++++ >> tools/perf/arch/arm64/util/unwind-libunwind.c | 73 +------------------ >> tools/perf/util/evsel.c | 2 +- >> tools/perf/util/libunwind/arm64.c | 2 +- >> tools/perf/util/perf_regs.c | 2 + >> 6 files changed, 46 insertions(+), 74 deletions(-) >> >> -- >> 2.28.0 >