• A
    tools arch x86: Sync the msr-index.h copy with the kernel sources · 3b1f47d6
    Arnaldo Carvalho de Melo 提交于
    To pick up the changes in:
    
      5cde2653 ("perf/x86/rapl: Add AMD Fam17h RAPL support")
    
    Addressing this tools/perf build warning:
    
      Warning: Kernel ABI header at 'tools/arch/x86/include/asm/msr-index.h' differs from latest version at 'arch/x86/include/asm/msr-index.h'
      diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
    
    With this one will be able to use these new AMD MSRs in filters, by
    name, e.g.:
    
       # perf trace -e msr:* --filter="msr==AMD_PKG_ENERGY_STATUS || msr==AMD_RAPL_POWER_UNIT"
    
    Just like it is now possible with other MSRs:
    
      [root@five ~]# uname -a
      Linux five 5.5.17-200.fc31.x86_64 #1 SMP Mon Apr 13 15:29:42 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
      [root@five ~]# grep 'model name' -m1 /proc/cpuinfo
      model name	: AMD Ryzen 5 3600X 6-Core Processor
      [root@five ~]#
      [root@five ~]# perf trace -e msr:*/max-stack=16/ --filter="msr==AMD_PERF_CTL" --max-events=2
           0.000 kworker/1:1-ev/2327824 msr:write_msr(msr: AMD_PERF_CTL, val: 2)
                                             do_trace_write_msr ([kernel.kallsyms])
                                             do_trace_write_msr ([kernel.kallsyms])
                                             [0xffffffffc01d71c3] ([acpi_cpufreq])
                                             [0] ([unknown])
                                             __cpufreq_driver_target ([kernel.kallsyms])
                                             od_dbs_update ([kernel.kallsyms])
                                             dbs_work_handler ([kernel.kallsyms])
                                             process_one_work ([kernel.kallsyms])
                                             worker_thread ([kernel.kallsyms])
                                             kthread ([kernel.kallsyms])
                                             ret_from_fork ([kernel.kallsyms])
           8.597 kworker/2:2-ev/2338099 msr:write_msr(msr: AMD_PERF_CTL, val: 2)
                                             do_trace_write_msr ([kernel.kallsyms])
                                             do_trace_write_msr ([kernel.kallsyms])
                                             [0] ([unknown])
                                             [0] ([unknown])
                                             __cpufreq_driver_target ([kernel.kallsyms])
                                             od_dbs_update ([kernel.kallsyms])
                                             dbs_work_handler ([kernel.kallsyms])
                                             process_one_work ([kernel.kallsyms])
                                             worker_thread ([kernel.kallsyms])
                                             kthread ([kernel.kallsyms])
                                             ret_from_fork ([kernel.kallsyms])
      [root@five ~]#
    
    Longer explanation with what happens in the perf build process,
    automatically after this is made in synch with the kernel sources:
    
      $ make -C tools/perf O=/tmp/build/perf install-bin
      <SNIP>
      Warning: Kernel ABI header at 'tools/arch/x86/include/asm/msr-index.h' differs from latest version at 'arch/x86/include/asm/msr-index.h'
      diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
      <SNIP>
      make: Leaving directory '/home/acme/git/perf/tools/perf'
      $
      $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > before
      $
      $ diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
      --- tools/arch/x86/include/asm/msr-index.h	2020-06-02 10:46:36.217782288 -0300
      +++ arch/x86/include/asm/msr-index.h	2020-05-28 10:41:23.313794627 -0300
      @@ -301,6 +301,9 @@
       #define MSR_PP1_ENERGY_STATUS		0x00000641
       #define MSR_PP1_POLICY			0x00000642
    
      +#define MSR_AMD_PKG_ENERGY_STATUS	0xc001029b
      +#define MSR_AMD_RAPL_POWER_UNIT		0xc0010299
      +
       /* Config TDP MSRs */
       #define MSR_CONFIG_TDP_NOMINAL		0x00000648
       #define MSR_CONFIG_TDP_LEVEL_1		0x00000649
      $ cp arch/x86/include/asm/msr-index.h tools/arch/x86/include/asm/msr-index.h
      $
      $ make -C tools/perf O=/tmp/build/perf install-bin
      <SNIP>
        CC       /tmp/build/perf/trace/beauty/tracepoints/x86_msr.o
        LD       /tmp/build/perf/trace/beauty/tracepoints/perf-in.o
        LD       /tmp/build/perf/trace/beauty/perf-in.o
        LD       /tmp/build/perf/perf-in.o
        LINK     /tmp/build/perf/perf
      <SNIP>
      make: Leaving directory '/home/acme/git/perf/tools/perf'
      $
      $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > after
      $ diff -u before after
      --- before	2020-06-02 10:47:08.486334348 -0300
      +++ after	2020-06-02 10:47:33.075008948 -0300
      @@ -286,6 +286,8 @@
       	[0xc0010240 - x86_AMD_V_KVM_MSRs_offset] = "F15H_NB_PERF_CTL",
       	[0xc0010241 - x86_AMD_V_KVM_MSRs_offset] = "F15H_NB_PERF_CTR",
       	[0xc0010280 - x86_AMD_V_KVM_MSRs_offset] = "F15H_PTSC",
      +	[0xc0010299 - x86_AMD_V_KVM_MSRs_offset] = "AMD_RAPL_POWER_UNIT",
      +	[0xc001029b - x86_AMD_V_KVM_MSRs_offset] = "AMD_PKG_ENERGY_STATUS",
       	[0xc00102f0 - x86_AMD_V_KVM_MSRs_offset] = "AMD_PPIN_CTL",
       	[0xc00102f1 - x86_AMD_V_KVM_MSRs_offset] = "AMD_PPIN",
       };
      $
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Wang Nan <wangnan0@huawei.com>
    Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    3b1f47d6
msr-index.h 33.2 KB