linux_dsm_epyc7002/arch/x86/kernel/cpu
Andi Kleen 90405aa022 perf/x86/intel/lbr: Limit LBR accesses to TOS in callstack mode
In callstack mode the LBR is not a ring buffer, but a stack that grows up
and down. This means in  this case we don't need to access all LBRs, only the
ones up to TOS. Do this optimization for the normal LBR read, and the context
switch save/restore code. For save/restore it can be done unconditionally, as
it only runs when call stack mode is active.

This recovers some of the cost of going to 32 LBRs on Skylake.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: acme@kernel.org
Cc: eranian@google.com
Cc: jolsa@redhat.com
Link: http://lkml.kernel.org/r/1432786398-23861-6-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-08-04 10:16:59 +02:00
..
mcheck Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
microcode x86/microcode: Correct CPU family related variable types 2015-06-07 15:38:15 +02:00
mtrr x86/mm/pat: Wrap pat_enabled into a function API 2015-05-27 14:41:01 +02:00
.gitignore
amd.c Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
bugs_64.c
bugs.c x86/fpu: Move various internal function prototypes to fpu/internal.h 2015-05-19 15:47:48 +02:00
centaur.c
common.c x86/fpu: Fix FPU related boot regression when CPUID masking BIOS feature is enabled 2015-06-30 07:22:10 +02:00
cpu.h
cyrix.c
hypervisor.c hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests 2015-05-05 18:27:43 +01:00
intel_cacheinfo.c x86: Kill CONFIG_X86_HT 2015-06-07 15:33:44 +02:00
intel_pt.h perf/x86/intel/pt: Add new timing packet enables 2015-08-04 10:16:55 +02:00
intel.c x86/cpu/intel: Fix trivial typo in intel_tlb_table[] 2015-02-22 08:55:58 +01:00
Makefile perf/x86/intel/bts: Add BTS PMU driver 2015-04-02 17:14:21 +02:00
match.c
mkcapflags.sh x86/build: Fix mkcapflags.sh bash-ism 2015-02-19 02:21:00 +01:00
mshyperv.c x86: Use entering[_ack]_irq() instead of open coding it 2015-05-15 16:03:18 +02:00
perf_event_amd_ibs.c perf/x86/amd/ibs: Convert force_ibs_eilvt_setup() to void 2015-02-18 17:01:46 +01:00
perf_event_amd_iommu.c cpumask: factor out show_cpumap into separate helper function 2014-11-07 11:45:00 -08:00
perf_event_amd_iommu.h
perf_event_amd_uncore.c cpumask: factor out show_cpumap into separate helper function 2014-11-07 11:45:00 -08:00
perf_event_amd.c perf/x86: Add 'index' param to get_event_constraint() callback 2015-04-02 17:33:10 +02:00
perf_event_intel_bts.c perf/x86/intel/bts: Drop redundant declarations 2015-08-04 10:16:53 +02:00
perf_event_intel_cqm.c perf/x86/intel/cqm: Return cached counter value from IRQ context 2015-07-26 10:22:29 +02:00
perf_event_intel_ds.c perf/x86/intel: Add Intel Skylake PMU support 2015-08-04 10:16:58 +02:00
perf_event_intel_lbr.c perf/x86/intel/lbr: Limit LBR accesses to TOS in callstack mode 2015-08-04 10:16:59 +02:00
perf_event_intel_pt.c perf/x86/intel/pt: Add new timing packet enables 2015-08-04 10:16:55 +02:00
perf_event_intel_rapl.c perf/x86/intel/rapl: Add support for Knights Landing (KNL) 2015-08-04 10:16:52 +02:00
perf_event_intel_uncore_nhmex.c
perf_event_intel_uncore_snb.c perf/x86/intel/uncore: Add support for ARB uncore PMU on Sandy/IvyBridge 2015-08-04 10:16:52 +02:00
perf_event_intel_uncore_snbep.c perf/x86/intel/uncore: Remove use of macro DEFINE_PCI_DEVICE_TABLE() 2015-08-04 10:16:52 +02:00
perf_event_intel_uncore.c perf/x86/intel/uncore: Use Sandy Bridge client PMU on Haswell/Broadwell 2015-08-04 10:16:53 +02:00
perf_event_intel_uncore.h Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 15:19:21 -07:00
perf_event_intel.c perf/x86/intel: Add Intel Skylake PMU support 2015-08-04 10:16:58 +02:00
perf_event_knc.c
perf_event_p4.c
perf_event_p6.c
perf_event.c perf/x86: Fix 'active_events' imbalance 2015-06-30 13:08:46 +02:00
perf_event.h perf/x86/intel: Add Intel Skylake PMU support 2015-08-04 10:16:58 +02:00
perfctr-watchdog.c
powerflags.c
proc.c x86: Replace cpu_**_mask() with topology_**_cpumask() 2015-05-27 15:22:17 +02:00
rdrand.c
scattered.c x86: Add Intel Processor Trace (INTEL_PT) cpu feature detection 2015-04-02 17:14:18 +02:00
topology.c
transmeta.c
umc.c
vmware.c