[PATCH v3 0/5] perf: arm64: Tools support for Dwarf unwinding through SVE functions

James Clark james.clark at arm.com
Fri Sep 23 03:34:59 PDT 2022



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
> 



More information about the linux-arm-kernel mailing list