diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-16 13:58:54 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-16 13:58:54 -0400 |
| commit | c77ee64f8a04166236666dfd540ff684d2daa1c0 (patch) | |
| tree | 64c02c555cc56362ccdda0248b8168ca53ccbbb6 | |
| parent | f57d7715d7645b7c3d1e7b7cb79ac7690fe2d260 (diff) | |
| parent | c7a286577d7592720c2f179aadfb325a1ff48c95 (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.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/intel/core.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/perf_event.h | 4 |
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 | ||
| 396 | const struct attribute_group *amd_iommu_attr_groups[] = { | 396 | static 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) \ |
