diff options
author | Ingo Molnar <mingo@kernel.org> | 2018-05-10 14:09:00 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-05-10 14:09:00 -0400 |
commit | 49cf4a4b3f5a8b02556dd4f45c5cee598d4fc799 (patch) | |
tree | f86cd69898bf9f2bcb640a292879e8e06057e757 /tools | |
parent | 75bc37fefc4471e718ba8e651aa74673d4e0a9eb (diff) | |
parent | 4a35a9027f64d588d2fd9436dda4126e8d5647d7 (diff) |
Merge tag 'perf-urgent-for-mingo-4.17-20180507' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
. Revert "perf pmu: Fix pmu events parsing rule", as it broke Intel PT
event description parsing (Arnaldo Carvalho de Melo)
. Sync x86's cpufeatures.h and kvm UAPI headers with the kernel sources,
suppressing the ABI drift warnings (Arnaldo Carvalho de Melo)
- Remove duplicated entry for westmereep-dp in Intel's mapfile.csv (William Cohen)
- Fix typo in 'perf bench numa' options description (Yisheng Xie)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/arch/arm/include/uapi/asm/kvm.h | 6 | ||||
-rw-r--r-- | tools/arch/arm64/include/uapi/asm/kvm.h | 6 | ||||
-rw-r--r-- | tools/arch/x86/include/asm/cpufeatures.h | 1 | ||||
-rw-r--r-- | tools/include/uapi/linux/kvm.h | 7 | ||||
-rw-r--r-- | tools/perf/bench/numa.c | 2 | ||||
-rw-r--r-- | tools/perf/pmu-events/arch/x86/mapfile.csv | 1 | ||||
-rw-r--r-- | tools/perf/util/parse-events.y | 8 |
7 files changed, 25 insertions, 6 deletions
diff --git a/tools/arch/arm/include/uapi/asm/kvm.h b/tools/arch/arm/include/uapi/asm/kvm.h index 2ba95d6fe852..caae4843cb70 100644 --- a/tools/arch/arm/include/uapi/asm/kvm.h +++ b/tools/arch/arm/include/uapi/asm/kvm.h | |||
@@ -195,6 +195,12 @@ struct kvm_arch_memory_slot { | |||
195 | #define KVM_REG_ARM_VFP_FPINST 0x1009 | 195 | #define KVM_REG_ARM_VFP_FPINST 0x1009 |
196 | #define KVM_REG_ARM_VFP_FPINST2 0x100A | 196 | #define KVM_REG_ARM_VFP_FPINST2 0x100A |
197 | 197 | ||
198 | /* KVM-as-firmware specific pseudo-registers */ | ||
199 | #define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT) | ||
200 | #define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM | KVM_REG_SIZE_U64 | \ | ||
201 | KVM_REG_ARM_FW | ((r) & 0xffff)) | ||
202 | #define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) | ||
203 | |||
198 | /* Device Control API: ARM VGIC */ | 204 | /* Device Control API: ARM VGIC */ |
199 | #define KVM_DEV_ARM_VGIC_GRP_ADDR 0 | 205 | #define KVM_DEV_ARM_VGIC_GRP_ADDR 0 |
200 | #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 | 206 | #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 |
diff --git a/tools/arch/arm64/include/uapi/asm/kvm.h b/tools/arch/arm64/include/uapi/asm/kvm.h index 9abbf3044654..04b3256f8e6d 100644 --- a/tools/arch/arm64/include/uapi/asm/kvm.h +++ b/tools/arch/arm64/include/uapi/asm/kvm.h | |||
@@ -206,6 +206,12 @@ struct kvm_arch_memory_slot { | |||
206 | #define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2) | 206 | #define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2) |
207 | #define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2) | 207 | #define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2) |
208 | 208 | ||
209 | /* KVM-as-firmware specific pseudo-registers */ | ||
210 | #define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT) | ||
211 | #define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \ | ||
212 | KVM_REG_ARM_FW | ((r) & 0xffff)) | ||
213 | #define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) | ||
214 | |||
209 | /* Device Control API: ARM VGIC */ | 215 | /* Device Control API: ARM VGIC */ |
210 | #define KVM_DEV_ARM_VGIC_GRP_ADDR 0 | 216 | #define KVM_DEV_ARM_VGIC_GRP_ADDR 0 |
211 | #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 | 217 | #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 |
diff --git a/tools/arch/x86/include/asm/cpufeatures.h b/tools/arch/x86/include/asm/cpufeatures.h index d554c11e01ff..578793e97431 100644 --- a/tools/arch/x86/include/asm/cpufeatures.h +++ b/tools/arch/x86/include/asm/cpufeatures.h | |||
@@ -320,6 +320,7 @@ | |||
320 | #define X86_FEATURE_AVX512_VPOPCNTDQ (16*32+14) /* POPCNT for vectors of DW/QW */ | 320 | #define X86_FEATURE_AVX512_VPOPCNTDQ (16*32+14) /* POPCNT for vectors of DW/QW */ |
321 | #define X86_FEATURE_LA57 (16*32+16) /* 5-level page tables */ | 321 | #define X86_FEATURE_LA57 (16*32+16) /* 5-level page tables */ |
322 | #define X86_FEATURE_RDPID (16*32+22) /* RDPID instruction */ | 322 | #define X86_FEATURE_RDPID (16*32+22) /* RDPID instruction */ |
323 | #define X86_FEATURE_CLDEMOTE (16*32+25) /* CLDEMOTE instruction */ | ||
323 | 324 | ||
324 | /* AMD-defined CPU features, CPUID level 0x80000007 (EBX), word 17 */ | 325 | /* AMD-defined CPU features, CPUID level 0x80000007 (EBX), word 17 */ |
325 | #define X86_FEATURE_OVERFLOW_RECOV (17*32+ 0) /* MCA overflow recovery support */ | 326 | #define X86_FEATURE_OVERFLOW_RECOV (17*32+ 0) /* MCA overflow recovery support */ |
diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h index 1065006c9bf5..b02c41e53d56 100644 --- a/tools/include/uapi/linux/kvm.h +++ b/tools/include/uapi/linux/kvm.h | |||
@@ -676,6 +676,13 @@ struct kvm_ioeventfd { | |||
676 | __u8 pad[36]; | 676 | __u8 pad[36]; |
677 | }; | 677 | }; |
678 | 678 | ||
679 | #define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0) | ||
680 | #define KVM_X86_DISABLE_EXITS_HTL (1 << 1) | ||
681 | #define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2) | ||
682 | #define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MWAIT | \ | ||
683 | KVM_X86_DISABLE_EXITS_HTL | \ | ||
684 | KVM_X86_DISABLE_EXITS_PAUSE) | ||
685 | |||
679 | /* for KVM_ENABLE_CAP */ | 686 | /* for KVM_ENABLE_CAP */ |
680 | struct kvm_enable_cap { | 687 | struct kvm_enable_cap { |
681 | /* in */ | 688 | /* in */ |
diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c index 944070e98a2c..63eb49082774 100644 --- a/tools/perf/bench/numa.c +++ b/tools/perf/bench/numa.c | |||
@@ -175,7 +175,7 @@ static const struct option options[] = { | |||
175 | OPT_UINTEGER('s', "nr_secs" , &p0.nr_secs, "max number of seconds to run (default: 5 secs)"), | 175 | OPT_UINTEGER('s', "nr_secs" , &p0.nr_secs, "max number of seconds to run (default: 5 secs)"), |
176 | OPT_UINTEGER('u', "usleep" , &p0.sleep_usecs, "usecs to sleep per loop iteration"), | 176 | OPT_UINTEGER('u', "usleep" , &p0.sleep_usecs, "usecs to sleep per loop iteration"), |
177 | 177 | ||
178 | OPT_BOOLEAN('R', "data_reads" , &p0.data_reads, "access the data via writes (can be mixed with -W)"), | 178 | OPT_BOOLEAN('R', "data_reads" , &p0.data_reads, "access the data via reads (can be mixed with -W)"), |
179 | OPT_BOOLEAN('W', "data_writes" , &p0.data_writes, "access the data via writes (can be mixed with -R)"), | 179 | OPT_BOOLEAN('W', "data_writes" , &p0.data_writes, "access the data via writes (can be mixed with -R)"), |
180 | OPT_BOOLEAN('B', "data_backwards", &p0.data_backwards, "access the data backwards as well"), | 180 | OPT_BOOLEAN('B', "data_backwards", &p0.data_backwards, "access the data backwards as well"), |
181 | OPT_BOOLEAN('Z', "data_zero_memset", &p0.data_zero_memset,"access the data via glibc bzero only"), | 181 | OPT_BOOLEAN('Z', "data_zero_memset", &p0.data_zero_memset,"access the data via glibc bzero only"), |
diff --git a/tools/perf/pmu-events/arch/x86/mapfile.csv b/tools/perf/pmu-events/arch/x86/mapfile.csv index 93656f2fd53a..7e3cce3bcf3b 100644 --- a/tools/perf/pmu-events/arch/x86/mapfile.csv +++ b/tools/perf/pmu-events/arch/x86/mapfile.csv | |||
@@ -29,7 +29,6 @@ GenuineIntel-6-4D,v13,silvermont,core | |||
29 | GenuineIntel-6-4C,v13,silvermont,core | 29 | GenuineIntel-6-4C,v13,silvermont,core |
30 | GenuineIntel-6-2A,v15,sandybridge,core | 30 | GenuineIntel-6-2A,v15,sandybridge,core |
31 | GenuineIntel-6-2C,v2,westmereep-dp,core | 31 | GenuineIntel-6-2C,v2,westmereep-dp,core |
32 | GenuineIntel-6-2C,v2,westmereep-dp,core | ||
33 | GenuineIntel-6-25,v2,westmereep-sp,core | 32 | GenuineIntel-6-25,v2,westmereep-sp,core |
34 | GenuineIntel-6-2F,v2,westmereex,core | 33 | GenuineIntel-6-2F,v2,westmereex,core |
35 | GenuineIntel-6-55,v1,skylakex,core | 34 | GenuineIntel-6-55,v1,skylakex,core |
diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y index d14464c42714..7afeb80cc39e 100644 --- a/tools/perf/util/parse-events.y +++ b/tools/perf/util/parse-events.y | |||
@@ -224,15 +224,15 @@ event_def: event_pmu | | |||
224 | event_bpf_file | 224 | event_bpf_file |
225 | 225 | ||
226 | event_pmu: | 226 | event_pmu: |
227 | PE_NAME '/' event_config '/' | 227 | PE_NAME opt_event_config |
228 | { | 228 | { |
229 | struct list_head *list, *orig_terms, *terms; | 229 | struct list_head *list, *orig_terms, *terms; |
230 | 230 | ||
231 | if (parse_events_copy_term_list($3, &orig_terms)) | 231 | if (parse_events_copy_term_list($2, &orig_terms)) |
232 | YYABORT; | 232 | YYABORT; |
233 | 233 | ||
234 | ALLOC_LIST(list); | 234 | ALLOC_LIST(list); |
235 | if (parse_events_add_pmu(_parse_state, list, $1, $3, false)) { | 235 | if (parse_events_add_pmu(_parse_state, list, $1, $2, false)) { |
236 | struct perf_pmu *pmu = NULL; | 236 | struct perf_pmu *pmu = NULL; |
237 | int ok = 0; | 237 | int ok = 0; |
238 | char *pattern; | 238 | char *pattern; |
@@ -262,7 +262,7 @@ PE_NAME '/' event_config '/' | |||
262 | if (!ok) | 262 | if (!ok) |
263 | YYABORT; | 263 | YYABORT; |
264 | } | 264 | } |
265 | parse_events_terms__delete($3); | 265 | parse_events_terms__delete($2); |
266 | parse_events_terms__delete(orig_terms); | 266 | parse_events_terms__delete(orig_terms); |
267 | $$ = list; | 267 | $$ = list; |
268 | } | 268 | } |