[Patch v3 0/4] Perf tools: perf-regs bug fix and optimization

Mi, Dapeng dapeng1.mi at linux.intel.com
Sun Feb 8 16:46:11 PST 2026


On 2/6/2026 11:17 PM, Arnaldo Carvalho de Melo wrote:
> On Tue, Feb 03, 2026 at 10:43:52AM +0800, Dapeng Mi wrote:
>> Changes:
>>  v2 -> v3:
>>   * Fix the abort issue for "-I" or "--user-regs" options. (Patch 1/4)
>>   * Address Ian's comments.
> Fixed up somme fuzz with powerpc, x86, riscv and s390  Build files wrt
> removing perf_regs.o

Thanks. 

>
> Thanks, applied to perf-tools-next,
>
> - Arnaldo
>  
>>  v1 -> v2:
>>   * Fixing "PERF_REG_EXTENDED_MASK" redefinition building error by
>>     changing the "asm/perf_regs.h" header path to relative UAPI path.
>>     (Patch 1/3)
>>   * Spliting xxx_reg_mask() and xxx_sdt_arg_parse_op() conversion into 2
>>     patches.
>>
>> This patch-set remove the below three architecture specific __weak
>> functions and converted them into the general architecture specific
>> functions which are dispatched base on "em_machine".
>>
>> uint64_t arch__intr_reg_mask(void);
>> uint64_t arch__user_reg_mask(void);
>> int arch_sdt_arg_parse_op(char *old_op, char **new_op);
>>
>> The advantage of this conversion is that these architectural functions
>> can be called even for a different architecture with host instead of
>> only called on the host architecture.
>>
>> Although the converted functions shown below can be called on any
>> architecture, currently they are still only called for the host
>> architecture (EM_HOST).
>>
>> int perf_sdt_arg_parse_op(uint16_t e_machine, char *old_op, char **new_op);
>> uint64_t perf_intr_reg_mask(uint16_t e_machine);
>> uint64_t perf_user_reg_mask(uint16_t e_machine);
>>
>> Tests:
>>   * This patch-set is only tested on x86 platforms. No issues are found
>>     for both intr-regs and user-regs options.
>>   * Tests on other architectures are welcomed and appreciated.
>>
>> History:
>>   v1: https://lore.kernel.org/all/20260123090938.2222960-1-dapeng1.mi@linux.intel.com/
>>   v2: https://lore.kernel.org/all/20260127070259.2720468-1-dapeng1.mi@linux.intel.com/
>>
>> Dapeng Mi (4):
>>   perf regs: Fix abort for "-I" or "--user-regs" options
>>   perf arch: Update arch headers to use relative UAPI paths
>>   perf regs: Remove __weak attributive arch__xxx_reg_mask() functions
>>   perf regs: Remove __weak attributive arch_sdt_arg_parse_op() function
>>
>>  tools/perf/arch/arm/include/perf_regs.h       |   2 +-
>>  tools/perf/arch/arm/util/Build                |   2 -
>>  tools/perf/arch/arm/util/perf_regs.c          |  13 -
>>  tools/perf/arch/arm64/include/perf_regs.h     |   2 +-
>>  tools/perf/arch/arm64/util/Build              |   1 -
>>  tools/perf/arch/arm64/util/perf_regs.c        | 141 ---------
>>  tools/perf/arch/csky/Build                    |   1 -
>>  tools/perf/arch/csky/include/perf_regs.h      |   2 +-
>>  tools/perf/arch/csky/util/Build               |   1 -
>>  tools/perf/arch/csky/util/perf_regs.c         |  13 -
>>  tools/perf/arch/loongarch/include/perf_regs.h |   2 +-
>>  tools/perf/arch/loongarch/util/Build          |   1 -
>>  tools/perf/arch/loongarch/util/perf_regs.c    |  13 -
>>  tools/perf/arch/mips/include/perf_regs.h      |   2 +-
>>  tools/perf/arch/mips/util/Build               |   1 -
>>  tools/perf/arch/mips/util/perf_regs.c         |  13 -
>>  tools/perf/arch/powerpc/include/perf_regs.h   |   2 +-
>>  tools/perf/arch/powerpc/util/Build            |   1 -
>>  tools/perf/arch/powerpc/util/perf_regs.c      | 172 -----------
>>  tools/perf/arch/riscv/include/perf_regs.h     |   9 +-
>>  tools/perf/arch/riscv/util/Build              |   1 -
>>  tools/perf/arch/riscv/util/perf_regs.c        |  13 -
>>  tools/perf/arch/s390/include/perf_regs.h      |   2 +-
>>  tools/perf/arch/s390/util/Build               |   1 -
>>  tools/perf/arch/s390/util/perf_regs.c         |  13 -
>>  tools/perf/arch/x86/include/perf_regs.h       |   2 +-
>>  tools/perf/arch/x86/util/Build                |   1 -
>>  tools/perf/arch/x86/util/perf_regs.c          | 283 ------------------
>>  tools/perf/util/evsel.c                       |   4 +-
>>  tools/perf/util/parse-regs-options.c          |  13 +-
>>  .../util/perf-regs-arch/perf_regs_aarch64.c   | 139 ++++++++-
>>  .../perf/util/perf-regs-arch/perf_regs_arm.c  |   7 +-
>>  .../perf/util/perf-regs-arch/perf_regs_csky.c |   7 +-
>>  .../util/perf-regs-arch/perf_regs_loongarch.c |   7 +-
>>  .../perf/util/perf-regs-arch/perf_regs_mips.c |   7 +-
>>  .../util/perf-regs-arch/perf_regs_powerpc.c   | 183 ++++++++++-
>>  .../util/perf-regs-arch/perf_regs_riscv.c     |   7 +-
>>  .../perf/util/perf-regs-arch/perf_regs_s390.c |   7 +-
>>  .../perf/util/perf-regs-arch/perf_regs_x86.c  | 281 ++++++++++++++++-
>>  tools/perf/util/perf_regs.c                   | 109 ++++++-
>>  tools/perf/util/perf_regs.h                   |  27 +-
>>  tools/perf/util/probe-file.c                  |   3 +-
>>  42 files changed, 787 insertions(+), 724 deletions(-)
>>  delete mode 100644 tools/perf/arch/arm/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/arm64/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/csky/Build
>>  delete mode 100644 tools/perf/arch/csky/util/Build
>>  delete mode 100644 tools/perf/arch/csky/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/loongarch/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/mips/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/powerpc/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/riscv/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/s390/util/perf_regs.c
>>  delete mode 100644 tools/perf/arch/x86/util/perf_regs.c
>>
>> -- 
>> 2.34.1
>>



More information about the linux-arm-kernel mailing list