TencentOS-kernel/arch/x86
Kim Phillips 409d54875d perf/x86/amd/ibs: Fix raw sample data accumulation
commit 36e1be8ada994d509538b3b1d0af8b63c351e729 upstream.

Neither IbsBrTarget nor OPDATA4 are populated in IBS Fetch mode.
Don't accumulate them into raw sample user data in that case.

Also, in Fetch mode, add saving the IBS Fetch Control Extended MSR.

Technically, there is an ABI change here with respect to the IBS raw
sample data format, but I don't see any perf driver version information
being included in perf.data file headers, but, existing users can detect
whether the size of the sample record has reduced by 8 bytes to
determine whether the IBS driver has this fix.

Fixes: 904cb3677f3a ("perf/x86/amd/ibs: Update IBS MSRs and feature definitions")
Reported-by: Stephane Eranian <stephane.eranian@google.com>
Signed-off-by: Kim Phillips <kim.phillips@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20200908214740.18097-6-kim.phillips@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-16 16:39:55 +08:00
..
boot x86/asm: Replace __force_order with a memory clobber 2021-03-16 16:39:12 +08:00
configs vgacon: remove software scrollback support 2021-03-16 16:36:07 +08:00
crypto crypto: x86/crc32c - fix building with clang ias 2021-03-16 16:39:35 +08:00
entry x86/unwind/orc: Fix premature unwind stoppage due to IRET frames 2021-03-16 16:27:42 +08:00
events perf/x86/amd/ibs: Fix raw sample data accumulation 2021-03-16 16:39:55 +08:00
hyperv x86/Hyper-V: Report crash data in die() when panic_on_oops is set 2021-03-16 16:26:30 +08:00
ia32 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
include perf/x86/amd/ibs: Fix raw sample data accumulation 2021-03-16 16:39:55 +08:00
kernel x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels 2021-03-16 16:39:39 +08:00
kvm KVM: x86: emulating RDPID failure shall return #UD rather than #GP 2021-03-16 16:39:05 +08:00
lib arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback 2021-03-16 16:37:37 +08:00
math-emu x86: math-emu: Fix up 'cmp' insn for clang ias 2021-03-16 16:32:34 +08:00
mm x86, fakenuma: Fix invalid starting node ID 2021-03-16 16:35:35 +08:00
net bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B 2021-03-16 16:27:12 +08:00
oprofile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
pci x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled 2021-03-16 16:39:28 +08:00
platform irqdomain/treewide: Keep firmware node unconditionally allocated 2021-03-16 16:32:20 +08:00
power Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
purgatory x86/purgatory: Disable various profiling and sanitizing options 2021-03-16 16:30:08 +08:00
ras Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
realmode x86/kdump: Always reserve the low 1M when the crashkernel option is specified 2021-03-16 16:36:38 +08:00
tools Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
um Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
video Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
xen x86/xen: disable Firmware First mode for correctable memory errors 2021-03-16 16:39:33 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kbuild Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig.cpu Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig.debug Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile.um Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile_32.cpu Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00