diff options
author | Ingo Molnar <mingo@kernel.org> | 2021-04-02 12:33:16 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2021-04-02 12:33:16 +0200 |
commit | e855e80d001530ec0bbb1ee1ca6a16ac6bdf9acf (patch) | |
tree | 5f762f2992658891c565af4f923147b384bf0dd4 /arch/x86/events | |
parent | f2ac256b9a8b7e79847efcd82bd10fd876369b9f (diff) | |
parent | a5e13c6df0e41702d2b2c77c8ad41677ebb065b3 (diff) | |
download | linux-stable-e855e80d001530ec0bbb1ee1ca6a16ac6bdf9acf.tar.gz linux-stable-e855e80d001530ec0bbb1ee1ca6a16ac6bdf9acf.tar.bz2 linux-stable-e855e80d001530ec0bbb1ee1ca6a16ac6bdf9acf.zip |
Merge tag 'v5.12-rc5' into WIP.x86/core, to pick up recent NOP related changes
In particular we want to have this upstream commit:
b90829704780: ("bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG")
... before merging in x86/cpu changes and the removal of the NOP optimizations, and
applying PeterZ's !retpoline objtool series.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/events')
-rw-r--r-- | arch/x86/events/intel/core.c | 3 | ||||
-rw-r--r-- | arch/x86/events/intel/ds.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 7bbb5bb98d8c..37ce38403cb8 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c @@ -3659,6 +3659,9 @@ static int intel_pmu_hw_config(struct perf_event *event) return ret; if (event->attr.precise_ip) { + if ((event->attr.config & INTEL_ARCH_EVENT_MASK) == INTEL_FIXED_VLBR_EVENT) + return -EINVAL; + if (!(event->attr.freq || (event->attr.wakeup_events && !event->attr.watermark))) { event->hw.flags |= PERF_X86_EVENT_AUTO_RELOAD; if (!(event->attr.sample_type & diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c index cdd195a3804e..16f226f51482 100644 --- a/arch/x86/events/intel/ds.c +++ b/arch/x86/events/intel/ds.c @@ -2009,7 +2009,7 @@ static void intel_pmu_drain_pebs_nhm(struct pt_regs *iregs, struct perf_sample_d */ if (!pebs_status && cpuc->pebs_enabled && !(cpuc->pebs_enabled & (cpuc->pebs_enabled-1))) - pebs_status = cpuc->pebs_enabled; + pebs_status = p->status = cpuc->pebs_enabled; bit = find_first_bit((unsigned long *)&pebs_status, x86_pmu.max_pebs_events); |