aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-05-16 13:58:54 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-05-16 13:58:54 -0400
commitc77ee64f8a04166236666dfd540ff684d2daa1c0 (patch)
tree64c02c555cc56362ccdda0248b8168ca53ccbbb6
parentf57d7715d7645b7c3d1e7b7cb79ac7690fe2d260 (diff)
parentc7a286577d7592720c2f179aadfb325a1ff48c95 (diff)
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar: "An x86 PMU constraint fix, an interface fix, and a Sparse fix" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/intel: Allow PEBS multi-entry in watermark mode perf/x86/intel: Fix INTEL_FLAGS_EVENT_CONSTRAINT* masking perf/x86/amd/iommu: Make the 'amd_iommu_attr_groups' symbol static
-rw-r--r--arch/x86/events/amd/iommu.c2
-rw-r--r--arch/x86/events/intel/core.c2
-rw-r--r--arch/x86/events/perf_event.h4
3 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/events/amd/iommu.c b/arch/x86/events/amd/iommu.c
index 7635c23f7d82..58a6993d7eb3 100644
--- a/arch/x86/events/amd/iommu.c
+++ b/arch/x86/events/amd/iommu.c
@@ -393,7 +393,7 @@ static __init int _init_events_attrs(void)
393 return 0; 393 return 0;
394} 394}
395 395
396const struct attribute_group *amd_iommu_attr_groups[] = { 396static const struct attribute_group *amd_iommu_attr_groups[] = {
397 &amd_iommu_format_group, 397 &amd_iommu_format_group,
398 &amd_iommu_cpumask_group, 398 &amd_iommu_cpumask_group,
399 &amd_iommu_events_group, 399 &amd_iommu_events_group,
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index ef763f535e3a..12ec402f4114 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -3265,7 +3265,7 @@ static int intel_pmu_hw_config(struct perf_event *event)
3265 return ret; 3265 return ret;
3266 3266
3267 if (event->attr.precise_ip) { 3267 if (event->attr.precise_ip) {
3268 if (!(event->attr.freq || event->attr.wakeup_events)) { 3268 if (!(event->attr.freq || (event->attr.wakeup_events && !event->attr.watermark))) {
3269 event->hw.flags |= PERF_X86_EVENT_AUTO_RELOAD; 3269 event->hw.flags |= PERF_X86_EVENT_AUTO_RELOAD;
3270 if (!(event->attr.sample_type & 3270 if (!(event->attr.sample_type &
3271 ~intel_pmu_large_pebs_flags(event))) 3271 ~intel_pmu_large_pebs_flags(event)))
diff --git a/arch/x86/events/perf_event.h b/arch/x86/events/perf_event.h
index 07fc84bb85c1..a6ac2f4f76fc 100644
--- a/arch/x86/events/perf_event.h
+++ b/arch/x86/events/perf_event.h
@@ -394,10 +394,10 @@ struct cpu_hw_events {
394 394
395/* Event constraint, but match on all event flags too. */ 395/* Event constraint, but match on all event flags too. */
396#define INTEL_FLAGS_EVENT_CONSTRAINT(c, n) \ 396#define INTEL_FLAGS_EVENT_CONSTRAINT(c, n) \
397 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS) 397 EVENT_CONSTRAINT(c, n, ARCH_PERFMON_EVENTSEL_EVENT|X86_ALL_EVENT_FLAGS)
398 398
399#define INTEL_FLAGS_EVENT_CONSTRAINT_RANGE(c, e, n) \ 399#define INTEL_FLAGS_EVENT_CONSTRAINT_RANGE(c, e, n) \
400 EVENT_CONSTRAINT_RANGE(c, e, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS) 400 EVENT_CONSTRAINT_RANGE(c, e, n, ARCH_PERFMON_EVENTSEL_EVENT|X86_ALL_EVENT_FLAGS)
401 401
402/* Check only flags, but allow all event/umask */ 402/* Check only flags, but allow all event/umask */
403#define INTEL_ALL_EVENT_CONSTRAINT(code, n) \ 403#define INTEL_ALL_EVENT_CONSTRAINT(code, n) \