linux/arch/x86/include/uapi/asm
Andi Kleen 069e0c3c40 perf/x86/intel: Support full width counting
Recent Intel CPUs like Haswell and IvyBridge have a new
alternative MSR range for perfctrs that allows writing the full
counter width. Enable this range if the hardware reports it
using a new capability bit.

Currently the perf code queries CPUID to get the counter width,
and sign extends the counter values as needed. The traditional
PERFCTR MSRs always limit to 32bit, even though the counter
internally is larger (usually 48 bits on recent CPUs)

When the new capability is set use the alternative range which
do not have these restrictions.

This lowers the overhead of perf stat slightly because it has to
do less interrupts to accumulate the counter value. On Haswell
it also avoids some problems with TSX aborting when the end of
the counter range is reached.

( See the patch "perf/x86/intel: Avoid checkpointed counters
  causing excessive TSX aborts" for more details. )

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Reviewed-by: Stephane Eranian <eranian@google.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1372173153-20215-1-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-06-26 11:59:25 +02:00
..
a.out.h
auxvec.h
bitsperlong.h
boot.h
bootparam.h efi: Pass boot services variable info to runtime code 2013-04-15 21:31:09 +01:00
byteorder.h
debugreg.h
e820.h
errno.h
fcntl.h
hw_breakpoint.h create non-empty arch/x86/include/uapi/asm/ files 2012-12-17 17:15:11 -08:00
hyperv.h
ioctl.h
ioctls.h
ipcbuf.h
ist.h
Kbuild
kvm_para.h
kvm.h kvm: Allow build-time configuration of KVM device assignment 2013-04-28 12:58:56 +03:00
ldt.h
mce.h x86, MCE: Retract most UAPI exports 2013-01-09 14:49:02 +01:00
mman.h
msgbuf.h
msr-index.h perf/x86/intel: Support full width counting 2013-06-26 11:59:25 +02:00
msr.h
mtrr.h
param.h
perf_regs.h
poll.h
posix_types_32.h
posix_types_64.h
posix_types_x32.h
posix_types.h
prctl.h
processor-flags.h
ptrace-abi.h
ptrace.h
resource.h
sembuf.h
setup.h create non-empty arch/x86/include/uapi/asm/ files 2012-12-17 17:15:11 -08:00
shmbuf.h
sigcontext32.h
sigcontext.h
siginfo.h
signal.h consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
socket.h
sockios.h
stat.h
statfs.h
svm.h
swab.h
termbits.h
termios.h
types.h
ucontext.h
unistd.h
vm86.h
vmx.h KVM: nVMX: Add preemption timer support 2013-03-14 10:01:21 +02:00
vsyscall.h